我们有一个中等规模的电子商务网站。我们卖书。在上述网站上,我们有促销、用户推荐、常规书籍页面、相关书籍等。与 amazon.com 非常相似,当然除了网站的容量。
我们有一个传统的 LAMP 设置,其中 M 仍然代表 MariaDB。
TPTB 希望记录和分析用户行为以优化转化。
最重要的是,我认为必须记录每次点击。(我怕)
这将增加每月几百万次点击。该系统必须能够及时返回至少 3 年。
系统可能会问的问题是: 给定一个页面(例如:主页),点击促销横幅,所述横幅的哪种颜色提供最佳转换。现在将该问题分为新客户和回头客。(多维或 A/B 测试)或者,给定书籍 A 和 B 的视图,用户接下来会购买哪些书籍。查询的范围将非常广泛。汇总数据将毫无意义。
我严重怀疑 MySQL 是否有能力为存储、分析和查询这些数据提供良好的平台。我们可以存储这些行,通过 RabbitMQ 将它们提供给 MySQL 以避免延迟,但是在 MySQL 中有效地查询和分析这些数据可能不是最佳的,因为有 50M 行。
已经有很多关于使用 MongoDB 存储分析数据的文章。但是所有帖子似乎都在文档中增加了一个计数器(预聚合数据),这对我们来说还不够好。
最大的问题是:是否有任何数据库(或其他系统)特别适合存储和分析这样的数据?MySQL 还可以解决问题吗?我的评估是否正确,即 MongoDB 可能在这里没有任何附加价值?