Using Aerospike for large scale instant messaging app

Hello everyone, I’m building an instant messaging app and I’m expecting 200K to 500K concurrent connections and about 100K to 300K messages sent and received, I needed a database that can handle a large number of writes and reads and a small number of updates and deletes. Currently I’m using Cassandra and it scales perfectly, we can just add nodes to scale it and it can tolerate a loss of nodes without any impact on the application. Large companies such as Netflix, Facebook and Apple have thousands of Cassandra nodes. I was going to use MongoDB in the beginning but scaling MongoDB is not a great choice, MongoDB sharding is complicated to use and not known for stability. Cassandra is perfect when it comes to scalability but it doesn’t handle deletes very well, so I’m considering another database just in case. I came across Aerospike, I looked into it and I was impressed by what it’s capable of, and some people claim that it is better than Cassandra but I’m still skeptical.

To make things clear, scalability, performance and latency are priorities, I’m looking for a database that can handle millions of messages a day and can still perform perfectly without affecting latency.

Can anyone help me with this?

If scalability, performance and latency are priorities, you definitely should look at Aerospike. I don’t know much about Cassandra. I do believe it does scale well, though, from what I hear. I would suggest looking for some real large scale users of Aerospike and their feedback. I did a quick search and found this video: Snap: Developing, Faster, Cheaper, and Highly Scalable Solutions at Scale - YouTube. This hopefully will help you decide what to consider but there is a lot more content out there. I also found this with a long response from someone who doesn’t seem to be much biased and has used both Aerospike and Cassandra: Comparison : Aerospike vs Cassandra - Stack Overflow.

1 Like