CouchDB可以每天处理1500万条记录吗?

and*_*ndy 11 couchdb nosql

我对NoSQL数据库比较陌生,我不得不为监控工具评估不同的NoSQL-Solutions.

情况如下:一个数据只有大约100字节,但实际上有很多.在一天中,我们获得了大约1500万条记录...所以我目前正在测试9亿条记录(大约15GB作为SQL插入脚本)

我的问题是:Couchdb是否符合我的需求?我需要做范围查询(在创建记录的日期)并根据存储在数据中的"二级索引"定义的组总结一些列.)我知道MapReduce可能是计算它的最佳解决方案,但是CouchDB的JavaScript能够在可接受的时间内完成吗?

我已经尝试过MongoDB,但是MapReduce真的很差,做得很糟糕......我还读到了HBase和Cassandra.但也许CouchDB也是一个很好的可能性

我希望我能给你所有需要的信息......谢谢你的帮助!

安迪

Jas*_*ith 10

坦率地说,此时,除非你有非常好的硬件,否则Apache CouchDB可能会遇到问题.Map/reduce可能会没问题.CouchDB的增量映射/缩减非常适合您的要求.

作为开发人员,您一定会喜欢它!不幸的是,作为系统管理员,您可能会注意到磁盘使用量和I/O超出预期.

我建议尝试一下.作为HTTP和Javascript,很容易进行可行性测试.请记住,初始视图构建将花费很长时间(让我们假设参数需要比其他所有竞争数据库更长的时间).但那段时间永远不会再花费.Map/reduce 每个文档运行一次(实际上每个文档更新).

如果名牌Apache CouchDB很慢,但你喜欢在沙发上放松,那么BigCouch集群肯定会毫无问题地处理这个负载.我非常确定BigCouch集群的数据和i/o要求远远超过此要求.

  • 对于生产用途,有一个解决方案.如果你问怎么样,我很乐意提供细节.简短版本:发送具有不同ID的新设计文档.查询它以构建索引.完成后,使用HTTP COPY重新命名旧的COPY.原子升级,无需停机. (5认同)
  • +1然而,值得注意的是,"从不"这里意味着"直到设计文件的某些更改才会引发视图的重建." 只是为了让你为此做好准备... :) (3认同)