Wednesday, January 28, 2015

A Tweet Re: Aerospike

 7 minutes ago7 minutes ago i don't know what this does. "FLASH-OPTIMIZED, IN-MEMORY, NOSQL DATABASE." these are not features

Jongleberry, I wanted to respond to you, though it'll take longer than a Tweet.


Many older databases run primarily out of traditional rotating hard disks. Such media has access speeds in the millisecond (10^-3) order of magnitude. Red Hat says "The average access time of a typical hard drive is roughly 8.5 milliseconds." That's fine so long as you don't have really fast response time requirements.

Yet if you take a look at how fast modern databases need to perform, such as for Real Time Bidding (RTB), you have use cases, such as Komli, where they need to get data back in as little as 1-2 milliseconds, there's no way spinning disk is going to get data back that fast.

Instead, you need to run from Flash-memory Solid State Drives (SSD). These drives can be accessed at microsecond speed (10^-6 or 10^-5), meaning they are orders of magnitude faster than spinning disk.

The way Aerospike is architected takes advantage of running from Flash (and RAM, see more below). Now, you can meet those 1-2 millisecond response times. Flash, like spinning disk, is persistent, meaning you won't lose your data even if the power goes off. It's more expensive than spinning disk, but that price has been coming down massively in recent years.


Aerospike can also work out of RAM, which is accessed in (tens of) nanosecond orders-of-magnitude (10^-8). So it is faster even than Flash/SSD. Yet it is not persistent. So if anything goes wrong with the power — Poof! — your data is gone. Of course, that speed brings higher costs.

This is why Aerospike focuses on using RAM and Flash each for what they do best. RAM for pure performance, and Flash for persistence with near-RAM speed (at least compared to spinning disk).


There's a lot of information on what NoSQL databases are, versus SQL. Aerospike is, in specific, a Key-Value store.


When put all together, Aerospike running from Flash is cheaper-than-pure-RAM (such as Redis), and faster-than-hard-disk-can-ever-hope-to-be (such as a Cassandra deployment).

As Lynn Langit just published today, Aerospike performs as-well-or-better than Redis in RAM, and as recently published on Google Cloud Platform Blog, it requires far less servers than Cassandra.

For more cost-savings considerations of Flash/SSD, there are other articles that highlight the advantages: "RAM-like Performance with Local SSDs," as well as "Are SSDs Really 10x Cheaper than RAM?"

For further reading, I also recommend this article by Young Paik, who summed up the discussion as, "Goldilocks and the Three Storage Types."

Also see:

No comments:

Post a Comment