Which noSQL database is best for high volume inser

2019-04-09 18:14发布

问题:

Which nosql system is better equipped for handling high volume inserts out of the box? Preferably, running on 1 physical machine (many instances allowed).

Has anyone done any benchmarks? (googling did not help)

Note: I understand that choosing noSQL database depends on what kind of data needs to be stored (document:MongoDB, graph:Neo4j, etc.).

回答1:

Apache Cassandra is great in write operations, thanks to its unique persistence model. Some claim that it writes about 20 times faster than it reads but I believe it's really dependent on your usage profile.

Read about it in their FAQ and in various blog posts.

That is, of course, if you have "classical" DB profile of large amounts of data. If your data is small, or is used temporarily and/or as a cache layer, then of course opt for Redis which has the fastest throughput both for reads and for writes, since it's memory-based (with eventual disk persistence).



回答2:

If you want fast writes speed you can just insert your data into memory and flush data to the disc at a background every minute or so. That should be fastest solution.

Mongodb and redis do this actually. For example in mongodb you can go without journal enabled and writes will be very fast. But keep in the mind if you store data in memory at a single server there is probability to loose your data (data that not flushed to the disc yet) when your server goes done.

In general what database to use highly depends on data you want store and task you are trying to solve.



回答3:

If you're dealing with a complex object model for inserts your best option is an object database like Versant's:

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



回答4:

According to my benchmarks, Cassandra is better than MongoDB on large arrays, but MongodDB is more flexible.