哪个数据库适合存储数十亿行的地址簿(姓名,电子邮件地址,电话号码等)? 该应用程序将非常精确读取(> 99%)并且需要与全球分布的服务器具有高度一致性。 查询将在电子邮件地址或电话号码上。 我目前正在考虑HBase,Cassandra或MongoDB。
答案 0 :(得分:0)
我认为你应该选择MongoDB。它的文档数据库和支持复制,着色功能。
答案 1 :(得分:0)
Cassandra可能是一个不错的选择。它支持多个数据中心,因此,为了获得全球支持,您可以在全球范围内设置一些DC,以通过让客户访问最近的数据中心来减少延迟。
对于基于电子邮件地址和电话号码的快速查找,您可能会将数据非规范化存储在两个表中,其中一个表使用电子邮件作为主键,另一个表使用电话号码作为主键。
您应该能够通过添加更多节点来获得所需的读取性能,因为读取性能会随着每个数据中心中的节点数量而缩放。
现在,如果你想根据主键以外的字段对这些数据进行即席查询,那么Cassandra就不是一个好的选择。