【问题标题】:what is best no sql db for user profile management什么是最好的没有用于用户配置文件管理的 sql db
【发布时间】:2012-07-02 17:24:24
【问题描述】:

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

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

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

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

谢谢,

【问题讨论】:

  • 您是否知道我应该为所描述的任务考虑的一些 Cassandra 配置细节?
  • 我自己没有在生产中使用它。但我听说你应该让你的磁盘使用率超过 50%(它需要空间用于压缩和其他东西)。

标签: mongodb performance cassandra hbase nosql


【解决方案1】:

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

2) 我已经使用 Cassandra 一年多了,由于写入是顺序的,因此它们的速度更快。我看到 sstableloaderBulkOutPutFrormat 的性能更快

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

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

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

【讨论】:

  • 您可以建议我看看哪些配置/运行时细节?
  • @Julias 使用 Cassandra 的读取性能受数据模型的影响比任何配置选项都大。我建议阅读一些关于数据建模的文章;请随时在此处或之后在用户邮件列表中询问有关您的数据模型的具体问题。
  • @Julias Tyler Hobbs 是对的 它主要取决于您设计数据模型的方式。对于配置,您可以通过 cassandra 配置文件,即 cassandra.yaml,其中包含对每个参数的充分描述。
猜你喜欢
  • 2011-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多