2

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

哪个没有 sql 数据库最适合这个特性?mongodb、cassandra 还是 hbase?

我现在正在使用 mongodb(带分片),我在其中看到的问题之一是它具有全局锁,并且每次我进行大量写入时,我的读取性能都会下降。而且由于运行时组件总是应该读取一些配置文件,因此性能至关重要。

此外,也许我还应该使用一些缓存技术?

谢谢,

4

1 回答 1

2

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

2)我已经使用 Cassandra 一年多了,由于写入是顺序的,它们像任何东西一样更快。我已经看到sstableloaderBulkOutPutFrormat的性能更快

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

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

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

于 2012-07-03T12:49:52.083 回答