Two former Facebook developers have created a new database that they say is the world’s fastest and a video to demonstrate its superiority compared to MySQL.
According to former Facebook developers Eric Frenkiel and Nikita Shamgunov, MemSQL, the database they have developed over the past year, is thirty times faster than conventional disk-based databases.
The team employed techniques they had used at Facebook to create a database that would be very fast. The key ideas are that SQL code is translated into C++, so avoiding the need to use a slow SQL interpreter, and that the data is kept in memory, with disk read/writes taking place in the background.
Shamgunov has excellent credentials in the database world, having worked at Microsoft on SQL Server for six years. He also has several patents to his name, and is a world medalist in ACM programming contests.
MemSQL has put together a video showing MySQL versus MemSQL carrying out a sequence of queries, in which MySQL performs at around 3,500 queries per second, while MemSQL achieves around 80,000 queries per second.
This is, of course, impressive, but the question remains of how much of this was achieved by clever picking of the queries. What would be interesting would be to see MemSQL running some of the Transaction Processing Performance Council (TPC) tests to see how it performs against known benchmarks.
The main reason that MemSQL achieves the speed it does is because of being memory based, with all the benefits and drawbacks in terms of size limits and potential data loss that carries.
The documentation says that MemSQL writes back to disk/SSD as soon as the transaction is acknowledged in memory, and that using a combination of write-ahead logging and snapshotting ensures your data is secure.
MemSQL is fully compatible with MySQL, giving a clue as to the target audience, and the website describing the product suggests that:
“MemSQL handles terabyte-scale workloads by connecting MemSQL and MySQL nodes together, conferring real-time access for your most valuable data as well as long-term historical lookback”.
MemSQL runs on 64-bit Linux, and is described as ideally suited for machines with multi-core processors and at least 8 GB of RAM. There’s a free developer edition that’s limited to 10 GB in capacity, and a trial edition that supports unlimited storage but is time limited to 30 days.
So far, no details of the license fee for commercial use seem to be available.