Aerospike vs Elasticsearch: What are the differences?
What is Aerospike? Flash-optimized in-memory open source NoSQL database. Aerospike is an open-source, modern database built from the ground up to push the limits of flash storage, processors and networks. It was designed to operate with predictable low latency at high throughput with uncompromising reliability – both high availability and ACID guarantees.
What is Elasticsearch? Open Source, Distributed, RESTful Search Engine. Elasticsearch is a distributed, RESTful search and analytics engine capable of storing data and searching it in near real time. Elasticsearch, Kibana, Beats and Logstash are the Elastic Stack (sometimes called the ELK Stack).
Aerospike and Elasticsearch are primarily classified as "In-Memory Databases" and "Search as a Service" tools respectively.
Some of the features offered by Aerospike are:
- 99% of reads/writes complete in under 1 millisecond.
- Predictable low latency at high throughput – second to none. Read the YCSB Benchmark.
- The secret sauce? A thousand things done right. Server code in ‘C’ (not Java or Erlang) precisely tuned to avoid context switching and memory copies. Highly parallelized multi-threaded, multi-core, multi-cpu, multi-SSD execution.
On the other hand, Elasticsearch provides the following key features:
- Distributed and Highly Available Search Engine.
- Multi Tenant with Multi Types.
- Various set of APIs including RESTful
"Ram and/or ssd persistence " is the primary reason why developers consider Aerospike over the competitors, whereas "Powerful api" was stated as the key factor in picking Elasticsearch.
Aerospike and Elasticsearch are both open source tools. Elasticsearch with 42.4K GitHub stars and 14.2K forks on GitHub appears to be more popular than Aerospike with 296 GitHub stars and 55 GitHub forks.
Uber Technologies, Instacart, and Slack are some of the popular companies that use Elasticsearch, whereas Aerospike is used by JustWatch, AppsFlyer, and Flyclops LLC. Elasticsearch has a broader approval, being mentioned in 2003 company stacks & 979 developers stacks; compared to Aerospike, which is listed in 30 company stacks and 9 developer stacks.
What is Aerospike?
What is Elasticsearch?
Want advice about which of these to choose?Ask the StackShare community!
What are the cons of using Aerospike?
What tools integrate with Aerospike?
Elasticsearch is the engine that powers search on the site. From a high level perspective, it’s a Lucene wrapper that exposes Lucene’s features via a RESTful API. It handles the distribution of data and simplifies scaling, among other things.
Given that we are on AWS, we use an AWS cloud plugin for Elasticsearch that makes it easy to work in the cloud. It allows us to add nodes without much hassle. It will take care of figuring out if a new node has joined the cluster, and, if so, Elasticsearch will proceed to move data to that new node. It works the same way when a node goes down. It will remove that node based on the AWS cluster configuration.
The very first version of the search was just a Postgres database query. It wasn’t terribly efficient, and then at some point, we moved over to ElasticSearch, and then since then, Andrew just did a lot of work with it, so ElasticSearch is amazing, but out of the box, it doesn’t come configured with all the nice things that are there, but you spend a lot of time figuring out how to put it all together to add stemming, auto suggestions, all kinds of different things, like even spelling adjustments and tomato/tomatoes, that would return different results, so Andrew did a ton of work to make it really, really nice and build a very simple Ruby gem called SearchKick.
We use ElasticSearch for
- Session Logs
We originally self managed the ElasticSearch clusters, but due to our small ops team size we opt to move things to managed AWS services where possible.
The managed servers, however, do not allow us to manage our own backups and a restore actually requires us to open a support ticket with them. We ended up setting up our own nightly backup since we do per day indexes for the logs/analytics.
Elasticsearch has good tooling and supports a large api that makes it ideal for denormalizing data. It has a simple to use aggregations api that tends to encompass most of what I need a BI tool to do, especially in the early going (when paired with Kibana). It's also handy when you just want to search some text.
Self taught : acquired knowledge or skill on one's own initiative. Open Source Search & Analytics. -time search and analytics engine. Search engine based on Lucene. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.