我需要创建一个数据库来处理点击流(来自~240个子域)。我使用Java Script来获取每次点击的信息,如(Host,Page,Date,userID,Referer,HostName,RefererPath,uniqueUserID),而不是通过java web动态应用程序将数据插入数据库。每天大约有9百万条新记录,我必须每分钟插入新记录。另一个应用程序需要能够在最后一个(10分钟,20分钟,30分钟,1小时...... 24小时)检索有关特定文章/子域的浏览量/唯一访问者/等的信息。我只需要记录过去3个月的记录。
最初我考虑使用MySQL,因为我只对开源感兴趣。但我正在考虑NoSQL解决方案。问题是我只有关系数据库的经验,而且我真的无法判断NoSQL在这里是不是更好的解决方案。如果我选择使用NoSQL,我还应该使用哪个数据库? Key-value商店是最好的方式吗?
答案 0 :(得分:2)
我猜这个数据的一致性并不重要(统计数据?)所以你确实可以节省一点点的一致性。 NoSQL似乎是一个不错的选择,一个关键的价值存储也是我的选择。现在真正的问题是:什么是最合适的?
我会考虑Redis和Riak(基本上是最知名的):
Riak (AP系统):
Redis (CP系统):
两者都有更多的功能,你应该去阅读文档的陷阱。 Redis主要用作缓存,因为它很快,而Riak专注于容错。鉴于您的可扩展性要求,两者都可以满足您的需求。因此,您必须根据上述内容进行选择。