NoSQL Performance Benchmark
In a newly released benchmark established to determine which NoSQL database works best in a specific real-world scenario, Redis Labs Enterprise Cluster substantially outperformed the four other databases tested.
The test, which was conducted independently by Avalon Consulting, LLC, analyzed throughput and latency metrics to assess which of the five databases was best suited for a mockapp that simulated a voting process application. According to the results released today, Redis was way ahead in terms of the application requests per second, and its latency was substantially less than all the others.
The benchmark was supplied by cloud infrastructure specialist eMind, that helps startups and enterprises establish IT operations that are both scalable and secure. The requirement was to support a “real-time voting process” similar to televised election surveys or game shows that involve the nation voting. Voter data had to be anonymous but unique, and scalability had to support request surges.
The benchmark was:
1. Cloud-based to be able to set up a cost-effective infrastructure that could handle massive app-user spikes during the voting event.
2. NoSQL to meet the requirements of scalability and cost effectiveness, and respond effectively to spikes.
In addition there was a strong emphasis on application flow, since high performance optimizes the apps’ user experience. This process used starts with a user’s device, then calls a “stateless application server,” before sending the vote, which is recorded in the database. Avalon noted in its benchmark report that it was important during the application flow that “throughput remains high enough to handle usage spikes, while ensuring low latency.” An HTTP benchmarking tool was used to generate each test load that was configured to run for 60 seconds.
The five NoSQL databases tested by Avalon were, alphabetically:
- Cassandra open source
- Cassandra DataStax Enterprise in Memory
- Redis Labs Enterprise Cluster
All rest runs were carried out using three servers:
1. WRK server – c4.large EC2 Instance – to run the workload and send requests to the app server
2. App server – c4.8xlarge EC2 instance – to run the Go HTTP server and Mockapp server software
3. Database server – c4.large EC2 Instance – to run each NoSQL database
When Avalon tested with the c4.large, they found the client server was going to be a bottleneck, but decided to use a larger c4.8xlarge server as the app server rather than additional servers.
For all of the systems tested, Avalon made certain there was sufficient RAM to store the entire dataset in memory. The various configurations are provided in their report. The benchmark process followed for each is also detailed.
NoSQL Performance Benchmark
Ultimately, the Avalon benchmark results show Redis Labs to be a clear winner in terms of the voting application scenario in which a large number of “write” requests were made. Aerospike was second best, even though their latency results were more than double those of Redis, and application requests per second a little less than double. The other three were way behind.
According to Avalon, the test results they came up with are also applicable to cases where “massive and continuous ‘write’ operations are required.” These include Internet of Things (IoT) applications that receive telemetry data from a large number of sensors, as well as ingestion data-store for a real-time analytics application.
By Penny Swift