2012-07-02 92 views
2

没有SQL数据库我需要管理用户配置文件。用户配置文件的数量可能是非常大的(500和百万型材) 的系统要求是更新这些配置文件(可能每天一次,每周,或要求),并始终在运行时读取它们。什么是最适合用户配置文件管理

这是任何SQL数据库可能是最适合这个功能吗? mongodb,cassandra或hbase?

我现在正在使用mongodb(与分片),我看到它有一个全局锁的问题之一,每次我做很多的写入我的读取性能下降。 而且由于运行时组件始终应该读取一些配置文件,所以性能至关重要。

而且,也许我应该使用一些缓存技术之外?

谢谢,

+0

卡桑德拉应该工作得很好。 –

+0

您是否知道我应该为所描述的任务考虑一些Cassandra配置细节? – Julias

+0

我自己并没有在生产中使用它。但我听说你应该让你的磁盘使用率超过50%(它需要空间来压缩和东西)。 –

回答

2

1)当涉及到no-sql数据库时,性能调整是一个关键部分。

2)我一直在使用Cassandra的一个多一年,因为写是连续它们与sstableloaderBulkOutPutFrormat

3)快像anything.I看到更快的性能,但读取性能确实是一个问题,并可能可以用各种参数进行调整,也取决于您对数据进行建模的方式(数据库模式)。

4),但如果你的设计是考虑卡桑德拉是如何工作的读取也较快。但是,如果你使用任何你上面提到的Bulkloading策略的数据负载

5)用户数据时可能会遇到比较多的读取延迟为那种你应该考虑较大的复制因子的可用性目的的关键之一。

+0

你可以建议我看看哪些配置/运行时细节? – Julias

+2

@Julias读取Cassandra的性能比任何配置选项都受数据模型影响更大。我建议阅读一些关于数据建模的文章;随时可以在此处或在用户邮件列表中询问有关您的数据模型的具体问题。 –

+0

@Julias Tyler Hobbs是对的它主要取决于你设计数据模型的方式。对于配置,您可以通过cassandra配置文件,即cassandra.yaml,它具有对每个参数的充分描述。 – samarth

相关问题