【问题标题】:Which noSQL database is best for high volume inserts / writes?哪个 noSQL 数据库最适合大容量插入/写入?
【发布时间】:2019-12-28 14:37:42
【问题描述】:

哪个 nosql 系统更适合处理开箱即用的大量插入? 最好在 1 台物理机器上运行(允许多个实例)。

有人做过基准测试吗? (谷歌搜索没有帮助)

注意:我理解选择noSQL数据库取决于需要存储什么样的数据(文档:MongoDB,图表:Neo4j等)。 p>

【问题讨论】:

    标签: mongodb neo4j redis couchdb nosql


    【解决方案1】:

    如果您想要更快的写入速度,您可以将数据插入内存并每隔一分钟左右在后台将数据刷新到磁盘。这应该是最快的解决方案。

    MongoDB 和 Redis 实际上就是这样做的。例如,在 mongodb 中,您可以不启用日志,并且写入速度会非常快。但请记住,如果您将数据存储在单个服务器的内存中,那么当您的服务器出现故障时,可能会丢失您的数据(尚未刷新到磁盘的数据)。

    一般来说,使用什么数据库很大程度上取决于您要存储的数据和您要解决的任务。

    【讨论】:

    • 具有后期持久性的内存存储或仅使用 MQ 也是我的首选 (+1)。但我对开箱即用的数据库更感兴趣,这样系统可以由经验不足的系统管理员维护(降低维护成本)。感谢有关“禁用日志的 mongodb”的提示。
    【解决方案2】:

    Apache Cassandra 在写操作方面非常出色,这要归功于其独特的持久性模型。有人声称它的写入速度比读取速度快 20 倍,但我相信这确实取决于您的使用情况。

    their FAQvarious blog posts 中了解它。

    当然,如果您拥有包含大量数据的“经典”数据库配置文件。如果您的数据很小,或者临时使用和/或用作缓存层,那么当然选择 Redis,它在读取和写入方面都具有最快的吞吐量,因为它是基于内存的(具有最终的磁盘持久性)。

    【讨论】:

      【解决方案3】:

      如果您正在处理用于插入的复杂对象模型,您最好的选择是像 Versant 的对象数据库:

      http://www.versant.com/vision/The_Magic_Cube.aspx

      【讨论】:

        【解决方案4】:

        根据我的基准,Cassandra 在大型阵列上比 MongoDB 更好,但 MongodDB 更灵活。

        【讨论】:

        • 你能解释一下“更灵活”的含义吗?
        • 数据模型更加灵活。 Cassandra 似乎不支持 List,我必须将它们序列化为字节。而且配置cassandra比较难,mongodb比较简单。根据我的经验,MongoDB比较适合NOSQL的新用户
        猜你喜欢
        • 2017-05-08
        • 1970-01-01
        • 1970-01-01
        • 2014-03-13
        • 2012-05-18
        • 2012-02-13
        • 1970-01-01
        • 2017-12-01
        • 1970-01-01
        相关资源
        最近更新 更多