We love Elasticsearch for its simplicity and beauty. It is a fantastic search engine, and we have worked with Elasticsearch since its very beginning. We know it inside and out (check out Jodok Batlogg's (Crate CTO) famous talk about using Elasticsearch "Querying 24 billion records in 900ms"). We like its simple setup, sharding, full-text search and high availability. We wanted to create a SQL database that feels just as elegant, which is why we developed CrateDB and why Lucene/Elasticsearch is included as a library in CrateDB.
The difference? Elasticsearch is a search engine and CrateDB is a SQL database management system (DBMS).
CrateDB features a unique distributed SQL query engine, which extends the equivalent functions in Elasticsearch. Everything gets handled through the SQL interface in a distributed fashion, even SQL joins, group by, and aggregate functions. In general, Thus, CrateDB is as fast as Elasticsearch, but on distributed aggregations and joins it can be significantly faster.
CrateDB isn’t just translating SQL commands into Elasticsearch language. It is not a layer, but a complete SQL database product. The Elasticsearch query engine has been replaced with the CrateDB distributed SQL query engine (including a SQL-parser, analyzer, query planner and execution engine).
Use-cases we see often: companies running a relational SQL database (e.g., MySQL, SQL Server, etc.) as an operational or analytic data store (or even a noSQL database like Cassandra or MongoDB) along with Elasticsearch for full-text search. Rather than having to manage and integrate two data stores, they combine the data together into a single CrateDB cluster, which gives them the best of both worlds. Store relational data, documents and blobs in CrateDB to simplify and speed up the storing and querying of data, using SQL. No hassle with syncing, all data is hot and highly available.
More details on the differences:
CrateDB mainly uses Elasticsearch for cluster-state, node-discovery & management, sharding, replication and storing data in Lucene.
A little disclaimer: comparisons depend on generalizations by their very nature. Let us know if you think we didn’t get something right and get in contact.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form