There are many different databases on the market. This general CrateDB comparison will help you understand what makes CrateDB unique and whether it’s a good fit for you.
Ideal use case
CrateDB is ideal for real-time machine data and other applications that require:
- SQL access – CrateDB is accessed via ANSI SQL
- High velocity INSERTs – Scales linearly to handle millions of inserts per second.
- Easy scaling – Shared-nothing architecture automatically replicates and redistributes data as the cluster grows.
- Data type variety – Manages structured and unstructured data in the same database.
- Fast distributed queries, JOINs, aggregations – Innovative query engine delivers real-time performance, even for complex SQL queries.
- Open source economics – CrateDB is free to use under the Apache 2.0 license.
Read on if you’d like to learn more about CrateDB differentiators.
Masterless, shared-nothing architecture
Some databases have a strong master-slave model. Some databases have special “roles” for nodes. CrateDB is truly masterless. This means that all nodes in a CrateDB cluster are identical, allowing simple and elastic scaling with high availability and replication. CrateDB also automates the replication and redistribution of data as the cluster changes size. This makes it very easy to grow your CrateDB database; it’s as simple as connecting more hardware, the rest happens automatically.
Standard SQL API
Search engines like Splunk and NoSQL databases like MongoDB and Apache Cassandra are often accessed via proprietary query languages. CrateDB offers the data and query versatility of search and NoSQL in a single DBMS, accessed via a standard ANSI SQL 92 interface. This makes CrateDB easier to learn, use, and integrate for mainstream SQL developers.
CrateDB supports parallel reads and writes on every node with automatic sharding and replication of data between nodes, including automatic recovery on node-failure. In the future CrateDB will also replicate and synchronize data between geographic locations.
Distributed JOINs & aggregations
CrateDB is distributed by design and so are its aggregations and searches. They run on all available nodes, distributing the load and memory requirements across the whole cluster. Upon execution, data is redistributed on group keys or join conditions in order to distribute the load as much as possible and leverage concurrency.
CrateDB is a columnar SQL database with a dynamic schema. It can store documents (nested JSON) as well as BLOBs. It gives you the ability to manage both structured and unstructured data within the same database.
CrateDB is free to use and open source under the Apache 2.0 license.