我需要管理用户配置文件。用户配置文件的数量可能非常大(5亿个配置文件)系统要求更新这些配置文件(可能一天一次,一周一次,或者按请求更新),并且总是在运行时读取它们。
哪种sql数据库最适合此功能?mongodb,cassandra还是hbase?
我现在使用的是mongodb (带有分片),我在其中看到的一个问题是它有一个全局锁,每次我做大量的写操作时,我的读取性能都会下降。而且,由于运行时组件总是应该读取一些配置文件,因此性能是至关重要的。
此外,也许我应该另外使用一些缓存技术?
谢谢,
发布于 2012-07-03 20:49:52
1)当涉及非sql数据库时,性能调优是一个关键部分。
2)我使用Cassandra已经一年多了,由于写入是按顺序进行的,因此速度更快。我看到sstableloader和BulkOutPutFrormat的性能更快
3)但读取性能确实是一个问题,可以通过各种参数进行调整,还取决于您对数据建模的方式(数据库模式)。
4)但是如果你在设计时考虑到Cassandra是如何工作的,那么读取速度也会更快。但是,如果您使用上面提到的任何批量加载策略,您可能会在数据加载过程中遇到相对较长的读取延迟
5)由于用户数据对于可用性来说是一种关键数据,因此您应该考虑更大的复制因素。
https://stackoverflow.com/questions/11291266
复制相似问题