Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Aurora vs MemSQL for low throughput but low latency purpose [closed]

We are changing our current user side MySQL database. We have a website + mobile app for which users around the US query our database. the relevant data is is contained in three tables, and a join query against the three tables is needed to send the relevant results to the users.

The result sent back to the users are of small size (<6kb). If our objective is to go for low latency and throughput is a low priority, which of the two following databases would perform better:

MemSQL or AWS Aurora?

they both have the same starting cost for hardware (~$0.28/hr). We are only considering those two databases at this stage so that we can continue our "MySQL" in-house knowledge.

I like that i can outsource the DB headache to Aurora. But surely MemSQL's ability to read/write to memory is a lower latency solution?

like image 350
LAlearner Avatar asked Apr 17 '16 00:04

LAlearner


1 Answers

Nothing beats in-memory for speed and this is what MemSQL is built for. It stores tables (in rowstore mode) in memory and uses a custom query engine to cache queries into an intermediate language so it can execute as fast as possible. Aurora is more like a classic disk-based MySQL instance but with lots of infrastructure changes and optimizations to make the most of Amazon's services.

Before deciding though, you need to figure out what "low-latency" means - is this within seconds or milliseconds?

MemSQL will be faster and most likely in milliseconds depending on your query. Aurora will be slower but can probably deliver sub-second, again depending on your query and the resources allocated and how the data is structured.

Without any more details, the answer is to judge by what your performance tolerance is and then experiment.

like image 147
Mani Gandham Avatar answered Oct 03 '22 01:10

Mani Gandham