我对NoSQL数据库比较陌生,我不得不为监控工具评估不同的NoSQL-Solutions。
情况如下: 一个数据只有大约100字节,但实际上有很多。在一天中,我们获得了大约1500万条记录...所以我目前正在测试9亿条记录(大约15GB作为SQL插入脚本)
我的问题是:Couchdb是否符合我的需求?我需要进行范围查询(在创建记录的日期)并根据存储在基准中的“二级索引”定义的组总结一些列。) 我知道MapReduce可能是计算它的最佳解决方案,但CouchDB的JavaScript能够在可接受的时间内完成吗?
我已经尝试过MongoDB,但是MapReduce真的很糟糕做了一件糟糕的工作......我还读到了HBase和Cassandra。但也许CouchDB也是一个很好的可能性
我希望我能提供所有必要的信息......谢谢你的帮助!
和j
答案 0 :(得分:10)
坦率地说,在这个时候,除非你有非常好的硬件,否则 Apache CouchDB 可能会遇到问题。 Map / reduce可能会没问题。 CouchDB的增量 map / reduce非常适合您的需求。
作为开发者,您一定会喜欢它!不幸的是,作为系统管理员,您可能会注意到磁盘使用量和I / O数量超出预期。
我建议尝试一下。作为HTTP和Javascript,很容易进行可行性测试。请记住,初始视图构建将花费很长时间(让我们假设参数需要比其他所有竞争数据库更长的时间)。但那段时间永远不会再次花费。 Map / reduce每个文档只运行一次(实际上每个文档更新)。
如果名牌Apache CouchDB很慢,但你喜欢在沙发上放松,那么BigCouch群集肯定会毫无问题地处理这个负载。我非常确定BigCouch集群的数据和i / o要求远远高于此。