Aerospike vs Redis

Elaborating the performance comparison of these great in-memory databases. Here , I am covering the performance comparison of reading part.

We've been using Redis database since very long, it is one of the most go-to, most popular and widely used in-memory database.

There are pros and cons of every DBs however, here I am presenting the result of reading speed benchmark and comparison I performed on Redis and Aerospike for a specific scenario.

Currently, I am working for a digital advertising firm, where we used to take part in real-time advertising auctions, handles around 400k-500k bid-requests per second, our cloud servers (we call them bidder-servers) are constantly bidding & serving a large number of ads globally. We are using REDIS as well for realtime data retrieval. It's really important for bidder-servers to read the very latest key information regarding each campaign in a fastest manner.

Comparison Environment

  • AWS instances for Redis and Aerospike. Configured both databases in order to utilize all resources and handle maximum possible load.

AWS Ec2 Instances - r4.4xlarge

  • A set of few EC2 instances ( as clients) in the same region where Aerospike and Redis are hosted.

AWS instances - c5.xlarge

Benchmark & Results

Scenario: Total reads: 1M, Concurrency: 90

Client Instances

Total req/sec handled in

Redis

Total req/sec handled in Aerospike

1

70 - 90k

270 - 350k

2

138k - 150k

380-420k

10s

150-200k

450-480k

Few Snapshots:

  1. Running benchmark test from 1 client ec2 instance:

Aerospike Benchmark - 350+ req/sec
Redis Benchmark - 138k+ req/sec

2. Running benchmark on 2 client instances together

Aerospike Benchmark - total 400k+ req/sec
Redis Benchmark - total 135k+ req/sec

Conclusion

We can't say for given resources neither Aerospike nor Redis performed bad. However, Aerospike performed significantly high in all the tests here. Definitely it's a better choice if you are searching for DB which gives much faster Reads other than Redis.