我正在寻找一种提供最佳更新/ upsert性能的数据存储系统(NoSql首选)。这是迄今为止最重要的方面。此外,更新记录的大小将快速增长也很重要。我一直在使用MongoDB,但我无法将更新性能提升到所需的级别。
有人可以推荐什么吗?
答案 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)记住 - 你永远消除瓶颈 - 你只需将它们移到其他地方:-( - 一旦你解决了一个问题,你会发现你系统中另一个最慢的部分 - 幸运的是,它在一个不会对你产生负面影响的地方。