现在我有一个带有广告交换服务的项目(类似于 google double click),我必须选择一个高度可扩展的数据库。我正在考虑 mongodb 或 cassandra。
Cassandra :
- 适合我们的写入密集型系统。 (+)
- 看起来很难聚合(对分析非常重要)(有什么好方法吗?看看关于 Twitter rainbird 的幻灯片,看起来不错)(?)
- 我不太喜欢 java。 (-)
MongoDB:
- 似乎更容易进行分析。 (具有内置聚合函数)(+)
- 更耗内存? (因为面向文档 vs 键值 Cassandra)(?)
- 将性能与 Cassandra 进行比较? (?)
- javascript shell 和与 node.js 的自然契合(我们项目中的一个重要部分)(+)
- http://pastebin.com/raw.php?i=FD3xe6Jt - 这篇文章让我谨慎。 (-)
你们能帮我挑一个或者回答我上面的一些问题吗
谢谢。
最佳答案
我不了解 Cassandra,但 MongoDB 在使用它进行分析方面具有一些优势:高并发、分片、将有关事件的所有内容存储在单个文档中、upsert 等功能和 $inc .
有关更详细的解释,请查看以下资源:
MongoDB Analytics - videos
http://blog.mongodb.org/post/171353301/using-mongodb-for-real-time-analytics
http://www.mongodb.org/display/DOCS/Use+Cases
http://www.slideshare.net/jrosoff/scalable-event-analytics-with-mongodb-ruby-on-rails
http://nosql.mypopescu.com/post/3508305955/fast-asynchronous-analytics-with-mongodb
http://blog.opengovernment.org/2011/02/24/fast-asynchronous-analytics-with-mongodb/
http://blog.10gen.com/post/4416876632/london-startup-ubervu-on-storing-5tb-of-data-in-mongodb
关于node.js - 为广告/分析服务选择数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8547493/