用于跟踪网站上用户的数据库

时间:2013-08-08 07:26:26

标签: mysql database nosql web-analytics

考虑一个网站每天获得大约50K的独立访问者。现在,我想跟踪使用像素跟踪访问网站的用户。在开始任何开发之前,我希望决定我将用于该项目的存储数据库。

显然,这将是一个写密集型数据库,当有人(管理员)试图查看分析数据时,写入次数太多,搜索次数很少。

那么,我应该为这个项目使用什么类型的数据库 - mysql或者没有sql?

如果我不清楚我是否怀疑,请发表评论。

谢谢!

2 个答案:

答案 0 :(得分:0)

考虑到提供的负载估计和合理的保留策略,比如2年的数据,我相信常规的关系数据库应该这样做。 MySQL支持分区表和分区存档。

用户访问数据可以按日期自然分区。对这类数据的分析查询通常还涉及日期或日期范围。为避免管理太多太小分区的性能问题,我建议按周划分范围。

如果您的数据增长了2个数量级(每天10M记录而不是100K),您应该认真考虑一些大数据解决方案。 Flume / Hadoop / Hive的组合允许以最小的修改重用您的分析查询。

答案 1 :(得分:0)

从缩放角度来看,最简单的方法是将信息写入文件(简单日志文件)。然后你可以拿Hadoop来处理数据。首先使用无集群(嵌入模式下的Hadoop)。然后,您可以根据需要添加任意数量的节点。

但关键问题也在于您如何处理数据。那么你的分析期望是什么?您想要想象您的数据吗?你想以多快的速度获得你的答案?新数据的集成速度有多快。你总是有同样的问题或想玩数据吗?想要与其他一些数据混合......

Mysql在分析工具方面可能更为成熟。 只要数据大小不是太大,它就可能更快。 使用Hadoop,您可以使用Hive和consorts来帮助您处理数据,但可视化可能不是那么简单。