什么是最好没有用于用户配置文件管理的sql db

时间:2012-07-02 09:49:15

标签: mongodb performance cassandra hbase nosql

我需要管理用户个人资料。用户配置文件的数量可能非常大(5亿个配置文件) 系统要求是更新这些配置文件(可能每天,每周或按请求更新),并始终在运行时读取它们。

哪个没有sql数据库最适合这个功能? mongodb,cassandra或hbase?

我现在正在使用mongodb(带有分片),我在其中看到的一个问题是它有一个全局锁定,每次我做很多写操作时,我的读取性能都会下降。 由于运行时组件总是应该读取一些配置文件,因此性能至关重要。

此外,我可能还应该使用一些缓存技术吗?

谢谢,

1 个答案:

答案 0 :(得分:2)

1)性能调优是非sql数据库的关键部分。

2)我已经使用Cassandra超过一年了,因为写入是顺序的,它们比任何东西都更快。我已经看到了sstableloaderBulkOutPutFrormat

的更快性能

3)但读取性能确实是一个问题,可以使用各种参数调整,也取决于您对数据建模的方式(数据库模式)。

4)但是如果你考虑Cassandra的工作方式设计它也会更快。但是,如果您使用上述任何批量加载策略,则在数据加载期间可能会遇到相对较多的读取延迟

5)由于用户数据对于可用性而言是一种至关重要的数据,因此您应该考虑更大的复制因子。