【问题标题】:Which data storage system offers the best update / upsert performance?哪个数据存储系统提供最佳更新/更新插入性能?
【发布时间】:2011-10-21 13:50:58
【问题描述】:

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

有人可以推荐吗?

【问题讨论】:

    标签: mongodb database nosql


    【解决方案1】:

    在具体跳到其他数据库解决方案之前,MongoDB 的瓶颈是什么?您是否已将磁盘 IO 最大化?您是否使用大量输入线程来锤击服务器?你达到了什么类型的数字?我已经看到服务器级硬件每秒推送数万次插入,那么您需要什么。

    显然,还有许多其他数据库解决方案可用作键值数据库。 Riak、Redis、Membase、CouchDB、HBase,仅举几例。但是和 MongoDB 一样,这些数据库都不是魔法,它们仍然遵循计算机物理的基本定律。

    因此,要对您的问题有一个非常好的答案,我们需要:

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

    我提到的其他数据库的性能可能比 MongoDB 略好,但它们的性能不会好 100 倍,因此我们确实需要确定您正在寻找的数据库。

    【讨论】:

    • 如果您希望人们帮助您解决问题,请不要偷懒。盖茨副总裁问了几个非常相关的问题。适当地回答他们。如果性能是您最关心的问题,那么您的硬件规格充其量也不会令人印象深刻。高连续写入吞吐量严重依赖于快速 IO。 5400 rpm 的磁盘不会给你这个。
    【解决方案2】:

    Cassandra 提供了一个最终一致性模型(不过,这有点用词不当,因为它可以调整为非常一致),它允许非常好的插入/更新性能。我没有任何可靠的基准可以给你,但是根据我自己的经验和在线阅读的大部分内容,Cassandra 的插入/更新性能似乎比 HBase 更好。

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

    【讨论】:

      【解决方案3】:

      由于我还不能对其他帖子发表评论,因此我将其发布为答案: 建议购买更快的 HDD,正如 Remon 所说,7200rpm 的 HDD 并不昂贵,当然,如果您想要获得最佳性能,SSD 会很棒。

      根据您的问题,我只在 NoSQL 场景中使用过 mongoDB,并且考虑到我使用的是低端硬件这一事实,我看到它的更新/更新插件性能非常好。

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

      此外,您也没有指定在数据库上更新插入的数据量,也没有指定操作完成的频率,也没有指定“预测”数量。

      【讨论】:

        【解决方案4】:

        正如其他人所说,找到哪里什么瓶颈(1)不仅仅是一个笼统的陈述。

        但是,根据我的经验,根据一个极小且不科学的实验,Cassandra 的加载速度似乎确实更快(我在尝试时从未将空闲时间降至零)。

        这只是一个观察结果 -- 我将此作为任何建议

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

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

        (1) 记住——你永远不会消除瓶颈——你只是将它们移到别处:-(——一旦你解决了一个问题,你就会发现系统中另一个最慢的部分——幸运的是,它位于不会对您产生不利影响的地方。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-11-17
          • 2020-05-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-10
          • 1970-01-01
          相关资源
          最近更新 更多