Recently, the well-known independent benchmark evaluation agency Bankmark, for the current mainstream NoSQL database sequoiadb, MongoDB and Cassandra three NoSQL database products to do performance comparison testing and release test reports. in all of the tests, the three NoSQL database products have the same performance, no product can be defeated in all test scenarios, in terms of overall performance sequoiadb and Cassandra, but MongoDB performance is not ideal belongs to the bottom of the existence.
Test Organization:
Bankmark is an independent benchmark agency in Germany, the industry's leading NoSQL performance testing team.
Test Products:
MongoDB (Currently the most famous and most popular NoSQL database, occupy the mainstream position of non-relational database.) )
sequoiadb (created by developers of the former IBM DB2 team, who are said to be able to compete with MongoDB in performance and functionality.) )
Cassandra (The open source branch of Facebook's database system, with its many supporters, and Cassandra's ability to consistently regulate hbase (noble lineage, natural integration with Hadoop) has long been a powerful proof of its superiority. )
Test environment:
Bankmark uses the Yahoo Cloud serving Benchmark (YCSB) test framework as a test tool.
All of the tests are performed on physical hardware, without using any level of virtualization.
All database tests are performed on a 10-node cluster with 10 servers (Dell PowerEdge R520 (5 units), Dell PowerEdge R720 (5)) as the host for the database system, 5 units (HP ProLiant bl465c) Blade machine as YCSB client.
Test results:
From the results of the report, none of the products can defeat all the opponents in all test scenarios, in the "Most memory environment" setting, SEQUOIADB performance is significantly better than other products, in addition to Cassandra's strengths "read more write less." Test results under "full memory environment" show that SEQUOIADB has faster read request performance, while Cassandra performs better than SEQUOIADB on write requests. However, in all of the test cases, MongoDB is almost always the slowest. See the test Report for more information (NoSQL performance test)
Most memory environments (mostly-in-memory): Raw data size is 1/4 of total ram size
Full memory Environment (IN-MEMORY): Raw data size is 1/2 of total ram size
Test Scenario 1:200 million records (20 million per node)
In this experiment, the total memory environment (the original data size about 45% of the total system memory)
1, single data import
▲ Single record loading test
From the results, it can be seen that in full memory environment, single record loading operation, the highest Cassandra, the total throughput of nearly 70,000 per second, MongoDB is the worst.
2, Batch data import (1000 records a batch of times)
▲ Batch record loading test
In this test, the data for each batch of 1000, the test results show that the SEQUOIADB can reach nearly 65,000 per second of the import speed.
3, Zipfian distribution, 100% read
▲ Simple random Query test
In the test of simple random query, sequoiadb performance is the most prominent, MongoDB is the second.
4, Zipfian distribution, 50% read, 50% update
▲ Query Update Balance test
In the Query update balance test (50% read, 50% update), SEQUOIADB performance is the best, MongoDB performance is the most unsatisfactory.
5, Zipfian distribution, 5% read, 95% update
▲ Update-based testing
In the update-based test (5% queries, 95% updates), Cassandra performed best.
6, Zipfian distribution, 95% read, 5% update
▲ Query-based testing
In query-based testing (95% queries, 5% updates), MongoDB performed the best, Cassandra worst
7, latest distribution, 95% reads, 5% insertions
▲ Query the latest test
As you can see, in the most recent test, SEQUOIADB has the best performance for scenes that have just been written to memory, Cassandra the worst
Test Scenario 2:100 million records (10 million per node)
In this case/experiment, most of the memory environment (the original data size about 22% of the total system memory)
1, single record import
▲ Single record Import test
As you can see from the results, in most memory environments, a single record loading operation is SEQUOIADB best. This is the result of a change in the full memory environment.
2. Batch Data import
▲ Batch Loading test
The test results show that the SEQUOIADB can reach an import speed of more than 70,000 per second.
3, Zipfian distribution, 100% read
▲ Simple random Query test
In the test of simple random query, sequoiadb performance is still the most prominent, Cassandra second.
4, Zipfian distribution, 50% read, 50% update
▲ Query Update Balance test
In the query update balance test, 50% reads, 50% updates, sequoiadb still perform best
5, Zipfian distribution, 5% read, 95% update
▲ Update-based testing
In the update-based scenario test (5% query, 95% update), Cassandra seconds to kill the opponent.
6, Zipfian distribution, 95% read, 5% update
▲ Query-based testing
In a query-oriented scenario (95% queries, 5% updates), Cassandra performed best, and MongoDB behaved worst
7, latest distribution, 95% reads, 5% insertions
▲ Check the latest test
As you can see, unlike the full memory environment, SEQUOIADB is still the fastest, Cassandra more than MongoDB after sequoiadb.
3 major NoSQL Database performance comparison test report