Tunable durability — you can run MemSQL fully durable, or you can set a transaction buffer size that measures how much transaction data you can acknowledge before it’s persisted to disk.

The idea of compiled queries is hardly a new one, having been raised before by (for example) QlikTech, StreamBase, and ParAccel. Highlights of MemSQL’s version include:

C++, which you can read if you want to.

Parameter-aware; if a query comes in with one set of parameters, it’s stored to be run with other parameters in the future.

Persistent — if the machine crashes, the stored compiled queries are still there when it comes back up.

Queries only take up a couple of kilobytes each, and in the early going MemSQL hasn’t seen customers with more than a few thousand stored patterns. Hence the MemSQL guys are highly optimistic that storing every query pattern a system has ever compiled will not create any material space crunch, and just have a simple LRU (Least Recently Used) approach to freeing space in that unlikely eventuality.

MemSQL’s persistence story is that you flush write-ahead logs to one set of disks (spinning or solid-state), while sending snapshots (perhaps continually) to other disks. Persistence is designed to be sequential, although I’m not sure whether that remains true in the full-durability case.

Other random technical notes include:

MemSQL is working on a multi-temperature option, driven manually by DDL (Data Description Language). That is, recent data might be in MemSQL, while older data might be in MySQL.

The MemSQL guys like the idea of what I regard as a best practice, namely committing writes as soon as they’ve been acknowledged in the RAM of two (or suitably many) different machines. But it’s not technology they are developing at this time.

They’re proud of what they regard as a very fast parallel Group By.

MemSQL doesn’t compress data, and sees compression as being more important in analytic use cases. (Perhaps not coincidentally, they say that the hardware on which they can do 1.2 million inserts/second is available in hosting for a couple thousand dollars/month.)