I was wondering if I should use Aerospike or Redis to store data for incrementing ad consumption (Amount of budget consumed of an advertisement’s total budget).
I’m working for a company developing an ad delivery system. We have a minimum traffic of 2,000 RPS, and at peek times this number can go up to 10,000; Ad consumption should be incremented for each of these requests. We have 10~20 web servers, and a single database must store all the consumption data, which is then read and incremented from the servers concurrently.
I fear the incremented requests would cause a bottleneck at peek times if we were to use Redis, since it’s not scalable. I’m assuming if we were to choose Aerospike, we wouldn’t have this issue since we can deal with increased traffic by adding new servers.
What I want to know is:
- How good is Aerospike’s incrementation? Why and How does it work? ( I’ve read Aerospike’s incrementation cannot be blocked or conflicted even with multiple requests ( https://github.com/aerospike/aerospike-client-go/issues/12 ) )
- Are there any problems for storing and incrementing consumption if we were to use Aerospike.
- Are there any solutions for write (increment) block If we were to use Redis.
For those with experience in developing adservers; what do you think of using Aerospike for storing