首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何:记录和分析单击、页面查看和会话以优化转换

如何:记录和分析单击、页面查看和会话以优化转换
EN

Stack Overflow用户
提问于 2013-07-11 18:12:22
回答 2查看 90关注 0票数 0

我们有一个中等规模的电子商务网站。我们卖书。在所说的网站上,我们有促销,用户推荐,定期图书页面,相关书籍,等等。与amazon.com非常相似,当然不同的是站点的容量。

我们有一个传统的灯设置,其中M仍然代表MariaDB。

TPTB希望记录和分析用户行为,以便优化转换。

总之,我认为每一次点击都必须被记录下来。(我害怕)

这将增加到每月几百万的点击量。该系统必须能够追溯到至少3年前。

系统可能会问的问题是:给定一个页面(例如:主页),并单击促销横幅,所述横幅的哪种颜色提供最佳转换。现在把这个问题分成新客户和老客户。(多维或A/ B测试),或者,给定图书A和B的视图,用户下一步将购买哪些图书。查询的范围将非常广泛。聚合数据将是毫无意义的。

我严重怀疑MySQL是否有能力提供一个良好的平台来存储、分析和查询这些数据。我们可以存储行,通过RabbitMQ as将它们提供给MySQL以避免延迟,但是在MySQL中高效地查询和分析这些数据可能不是最佳的,假设有50M行。

已经有许多关于使用MongoDB存储分析数据的文章。但是所有的帖子似乎都在文档中增加了一个计数器(预先聚合数据),这对我们来说还不够好。

最大的问题是:有没有数据库(或其他系统)特别适合存储和分析这样的数据?MySQL还能做到这一点吗?我的评估是否正确,即MongoDB在这里可能没有任何附加值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-11 18:19:28

如果我没理解错的话,那么你只想要一天完成一次汇总数据的报告(而不是“实时”)?如果是这样的话,我建议使用Hadoop,因为它允许您运行大量的Map/Reduce作业,为您运行此聚合,然后向您呈现报告。在这样的数据量下,任何“活的”解决方案都不会起作用。

如果您不想打乱Hadoop和Map/Reduce的复杂性,那么也许MongoDB可以工作。它有一个相当强大的聚合框架,可以在一个类似实时环境的环境中执行许多聚合。它并不是真的打算在每个页面浏览量上运行,但它也不是“让我们一天做一次”之类的事情。这在一定程度上取决于您的数据聚合需求,聚合框架是否可以帮助您,但如果它不能,那么MongoDB还支持一些更复杂的任务的映射/还原(以较慢的速度)。MongoDB是一个很好的选择,因为你可以有很大的写性能--如果一个节点不工作,你总是可以分片来获得更高的写性能。

票数 1
EN

Stack Overflow用户

发布于 2013-10-18 05:00:12

如果您的主要转换是根据过去的用户选择提供建议,您还可以考虑图形数据库,如Neo4j或FlockDB。

这些数据库将允许你在买家和他们购买的商品之间建立关系(这应该是更少的数据存储,因为你将有更少的用户数据冗余),你可以用来做一些三元闭包过程-换句话说,找出相似的用户购买了什么用户'A‘还没有购买。

我还不能说我已经做到了,但我也在认真地调查这件事。除此之外,除了Map Reduce范例之外,MongoDB现在还有一个聚合管道框架(2.4.6版),我发现这个框架非常强大。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17590706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档