There are many different databases (NoSQL, NewSQL) on the market. Just as a general overview here are Crate’s main differentiators:
Masterless: some DBs have a strong master/slave model, some DBs have “roles” for nodes or are “almost” masterless. Crate is truly masterless. This means that the default is that all nodes in the cluster are identical, allowing simple and elastic scaling with transparent high availability and replication. This architecture enables horizontal scaling, which takes out the effort of growing and maintaining databases. It’s as simple as connecting more hardware, the rest will happen automatically.
Standard SQL API: many DBs implement their own query language (e.g. MongoDB) or proprietary SQL dialect (e.g. Cassandra CQL, couchbase N1QL) and expose different APIs to connect to the database. This comes at a cost: you need to adjust existing applications and integrations. Crate provides a HTTP endpoint for submission of standard SQL queries, requiring nothing of developers. The queries are then processed through crate’s distributed SQL engine, e.g. including support for distributed joins.
Data Distribution: Crate 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 Crate will also replicate and synchronize data between geographic locations.
Distributed Aggregation: Crate 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.
Data Model: Crate’s model is columnar. It can store documents (nested json) as well as BLOBs, covering all storage needs as well as the ability to combine both structured and unstructured data.
License Model: Crate is as simple as can be: open source under the Apache 2.0 license.
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