哪种数据存储系统提供最佳的更新/ upsert性能?

时间:2011-08-06 18:23:19

标签: mongodb database nosql

我正在寻找一种提供最佳更新/ upsert性能的数据存储系统(NoSql首选)。这是迄今为止最重要的方面。此外,更新记录的大小将快速增长也很重要。我一直在使用MongoDB,但我无法将更新性能提升到所需的级别。

有人可以推荐什么吗?

4 个答案:

答案 0 :(得分:5)

在专门讨论其他数据库解决方案之前,MongoDB的瓶颈是什么?你是否最大化了磁盘IO?你用很多输入线程锤击服务器了吗?你实现了什么类型的数字?我已经看到服务器级硬件推送了数万个插件/秒,所以你需要什么。

显然,有很多其他数据库解决方案可用作键值DB。 Riak,Redis,Membase,CouchDB,HBase,仅举几例。但是像MongoDB一样,这些数据库都不是魔术,它们仍然遵守计算机物理学的基本规律。

所以为了得到一个非常好的答案我们需要:

  • 服务器配置
  • 您运行的基本测试
  • 您取得的成绩
  • 测试期间的基本服务器监控数据

我提到的其他数据库的性能可能略好于MongoDB,但它们的性能不会好100倍,所以我们确实需要确定您要查找的内容。

答案 1 :(得分:0)

Cassandra提供了最终的一致性模型(但是,这有点用词不当,因为它可以调整为非常一致),这允许非常好的插入/更新性能。我没有任何可靠的基准来给你,但大多数我在自己的经验和我在网上看到的内容,看起来Cassandra提供了比HBase更好的插入/更新性能。

我会看看两者并尝试使用一些示例数据来查看哪一个适合您。我是Cassandra的忠实粉丝,但希望他们的超级专栏更有用。

答案 2 :(得分:0)

由于我还无法对其他帖子发表评论,我会将此作为答案发布: 根据Remon的说法,建议购买速度更快的硬盘,7200rpm硬盘不是很贵或者其他任何东西,当然如果你想要最佳性能,那么SSD会很棒。

根据您的问题,我在NoSQL场景中只使用过mongoDB,并且考虑到我正在使用低端硬件这一事实,我发现它在更新/升级方面表现非常出色。

但是,我这里每秒仅处理几百次更新,我现在还不知道更高级别的性能。

此外,您还没有指定数据库上存储的数据量,也没有指定操作完成的频率,也没有指定“预测”数量。

答案 3 :(得分:0)

正如其他人所说的那样,找到 瓶颈(1)所带来的帮助不仅仅是一个广泛的声明。

然而,根据我的经验,在一个极小且不科学的实验的基础上, Cassandra 确实似乎加载得更快(当我试用它时,我从未将空闲时间降至零)。

这只是一个观察 - 我会将此视为任何推荐

要做出明智的选择,你需要权衡

  • 周围的软件生态系统,
  • 功能性和非功能性 功能要求,例如
    • 面向文档的好处 数据库通过键值存储,
    • 需要网格文件系统......

(1)记住 - 你永远消除瓶颈 - 你只需将它们移到其他地方:-( - 一旦你解决了一个问题,你会发现你系统中另一个最慢的部分 - 幸运的是,它在一个不会对你产生负面影响的地方。