【发布时间】:2019-12-28 14:37:42
【问题描述】:
哪个 nosql 系统更适合处理开箱即用的大量插入? 最好在 1 台物理机器上运行(允许多个实例)。
有人做过基准测试吗? (谷歌搜索没有帮助)
注意:我理解选择noSQL数据库取决于需要存储什么样的数据(文档:MongoDB,图表:Neo4j等)。 p>
【问题讨论】:
标签: mongodb neo4j redis couchdb nosql
哪个 nosql 系统更适合处理开箱即用的大量插入? 最好在 1 台物理机器上运行(允许多个实例)。
有人做过基准测试吗? (谷歌搜索没有帮助)
注意:我理解选择noSQL数据库取决于需要存储什么样的数据(文档:MongoDB,图表:Neo4j等)。 p>
【问题讨论】:
标签: mongodb neo4j redis couchdb nosql
如果您想要更快的写入速度,您可以将数据插入内存并每隔一分钟左右在后台将数据刷新到磁盘。这应该是最快的解决方案。
MongoDB 和 Redis 实际上就是这样做的。例如,在 mongodb 中,您可以不启用日志,并且写入速度会非常快。但请记住,如果您将数据存储在单个服务器的内存中,那么当您的服务器出现故障时,可能会丢失您的数据(尚未刷新到磁盘的数据)。
一般来说,使用什么数据库很大程度上取决于您要存储的数据和您要解决的任务。
【讨论】:
Apache Cassandra 在写操作方面非常出色,这要归功于其独特的持久性模型。有人声称它的写入速度比读取速度快 20 倍,但我相信这确实取决于您的使用情况。
在their FAQ 和various blog posts 中了解它。
当然,如果您拥有包含大量数据的“经典”数据库配置文件。如果您的数据很小,或者临时使用和/或用作缓存层,那么当然选择 Redis,它在读取和写入方面都具有最快的吞吐量,因为它是基于内存的(具有最终的磁盘持久性)。
【讨论】:
如果您正在处理用于插入的复杂对象模型,您最好的选择是像 Versant 的对象数据库:
【讨论】:
根据我的基准,Cassandra 在大型阵列上比 MongoDB 更好,但 MongodDB 更灵活。
【讨论】: