|Stable release||3.1 / August 11, 2014|
MemSQL is a distributed, in-memory database that is part of the NewSQL movement. It is an ACID-compliant RDBMS that most notably converts SQL into C++ through code generation. It is being developed by MemSQL Inc., that was founded in 2011 and is a graduate of the Y Combinator startup program. MemSQL Inc. has raised more than $5 million to date from a variety of investors including First Round Capital, IA Ventures, NEA, and several prominent angels including Paul Buchheit, Max Levchin, Aaron Levie, and Ashton Kutcher. MemSQL Inc. launched its database to the public on June 18, 2012.
MemSQL combines lock-free data structures and a just-in-time (JIT) compiler for processing highly volatile workloads. More specifically, MemSQL implements lock-free hash tables and lock-free skiplists in memory for fast random access to data. Queries sent to the MemSQL server are converted into C++ and compiled through GCC. Queries are stripped of their parameters and the query template is stored as a shared object which is subsequently matched against incoming queries to the system. Code generation and the execution of pre-compiled query plans removes interpretation along hot code paths, providing highly efficient code paths that minimize the number of CPU instructions required.
Even though MemSQL stores data in memory, MemSQL is durable by implementing a write-ahead log and snapshots (similar to checkpoints). On default settings, as soon as a transaction is acknowledged in memory, the database will write the transaction to disk as fast as the disk will allow.
MemSQL supports a native replication protocol that ships its transactional log to slaves. MemSQL currently supports master-slave replication.
MemSQL is a distributed database that works by the concept of aggegators and leaf nodes. An aggregator is responsible for breaking up the query across the relevant leaf nodes and aggregating results back to the client. A leaf node is a MemSQL database. MemSQL uses hash partitioning to distribute data uniformly across the number of leaf nodes. MemSQL made the distributed version of its system generally available on April 23, 2013 with a trial edition available for download on their website.
MemSQL 1b - first general availability in June, 2012.
MemSQL 1c - minor feature update, released July 2012.
MemSQL 1.8 - replication and expanded SQL surface area, released December 2012
MemSQL 2.0 - general availability of distributed system. First release of MemSQL Watch operational dashboard.
MemSQL 2.5 - JSON Data type
MemSQL 3.0 - Columnar data store 
MemSQL 3.1 - Views, Cross-Datacenter replication 
- "MemSQL". Retrieved 2012-10-07.
- "MemSQL Key Concepts". Retrieved 2014-09-27.
- Empson, Rip (2012). "Accelerate Your Database: MemSQL Launches With $5M From Ashton Kutcher, Max Levchin & More" (published 2012-06-18). Retrieved 2012-10-07.
- Harris, Derrick (2012). "Ex-Facebookers Launch MemSQL to Make your Database Fly" (published 2012-06-18). Retrieved 2012-10-07.