Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is aerospike different from other key-value nosql databases? [closed]

Aerospike is a key-value, in-memory, operational NoSQL database with ACID properties which support complex objects and easy to scale. But I have already used something which does absolutely the same.

Redis is also a key-value, in-memory (but persistent to disk) NoSQL database. It also support different complex objects. But in comparison to Aerospike, Redis was in use for a lot of time, already have an active community and a lot of projects developed in it.

So what is the difference between aerospike and other no-sql key-value databases like redis. Is there a particular place which is better suited for aerospike.

P.S. I am looking for an answer from people who used at least one of these dbs (preferably both) in real world and havend real life experience (not copy-pastes from official website).

like image 632
Salvador Dali Avatar asked Jun 30 '14 02:06

Salvador Dali


People also ask

Is Aerospike a key value store?

Aerospike provides full support for key-value store and document store models. In fact, its operations provide much broader support than the textbook definitions of those models. Aerospike is a row-oriented database, where every record (equivalent to a row in a relational database) is uniquely identified by a key.

What is difference between Aerospike and Redis?

While Aerospike is a pure key-value store, Redis, too is a key-value store, but something a little different and unique – a data structures server, which means different types of key values can be stored if you so wish. This means not only strings, but other structures such as lists, sets, hashes, and bit arrays.

Is Aerospike a NoSQL database?

Aerospike Database is a flash memory and in-memory open source distributed key value NoSQL database management system, marketed by the company also named Aerospike.

What is one of the main features of Aerospike?

Aerospike allows value-based queries using secondary indexes, where string and integer bin values are indexed and searched using equality (string or numeric) or range (numeric) filters. User-Defined Functions (UDFs) extend the functionality and performance capabilities of the Aerospike Database engine.


Video Answer


1 Answers

If it has to be answered in one word, its "performance". Aerospike's performance is much better than any clustered-nosql solutions out there. Higher performance per-node means smaller cluster which is lower TCO (Total Cost of Ownership) and maintenance. Aerospike does auto-clustering, auto-sharding, auto-rebalancing (when cluster state changes) most of which needs manual steps in other databases.

I said "clustered" because I dont want to mix redis in that group (though redis clustering is in beta). Pure in-memory performance of Aerospike and redis will be comparable. But Redis expects a lot of things to be handled at the application layer like sharding, request redirection etc. Even though redis has a way to persist (snapshot or AOF), it has its own problems as its designed more like an addon. Aerospike is developed natively with persistence in mind. The clustering of redis also involves setting up master slave etc. You may want to take a look at this talk comparing and contrasting redis vs aerospike.

like image 116
sunil Avatar answered Sep 23 '22 17:09

sunil