Compare CrateDB

Find out how CrateDB compares to other databases in terms of characteristics, performance, and pricing

MongoDB is the king of NoSQL, a robust database optimally suited to a wide variety of web-scale use cases. Nevertheless, CrateDB is a better choice for real-time IoT applications with huge data volumes and heavy load — especially if they deal with time-series data.

CrateDB is more efficient than MongoDB in terms of memory and storage, and it is easier to scale. It offers real-time responses even with high data volumes, high concurrency, and a variety of data types. On top of that, CrateDB is accessible through SQL.

Scalability

MongoDB is configured with primary and secondary nodes, making it difficult (and expensive) to scale MongoDB horizontally. This is especially relevant for IoT, considering the vast scalability requirements of many IoT use cases.

MongoDB is mostly used as a single-node database: its performance is optimized for single-node operations. On the contrary, CrateDB is a database with shared-nothing nodes and automatic replication and cluster rebalancing. CrateDB is built to scale, and thus it shows the best results when operated in a multi-node cluster.

MongoDB CrateDB
Cluster type Primary/secondary Shared-nothing
Scalability Limited Full horizontal scalability
Data replication At partition level At table level
On-disk compression ZLIB, ZSTD LZF
Open-source AGPL V3 Apache 2.0
Access language MongoDB query language ANSI SQL
Schemas Dynamic Dynamic
Columnar indexing No Yes
JOINs No Full
Full-text search Limited Yes (Lucene powered)

Developer productivity

CrateDB provides all the versatility of NoSQL, but without abandoning SQL. Querying is way easier when compared to MongoDB, which demands considerably more code when working, for example, with time-series data.

On top of that, CrateDB schemas are dynamic. MongoDB doesn’t enforce a schema, but it is necessary to define a schema initially in order to get good results. Besides, MongoDB's indexing can cause problems in IoT use-cases.

MongoDB offers excellent development tools, but it is a database quite complex to operate and maintain. To integrate MongoDB with existing applications is often difficult, and the risk of getting locked in is high.

Content Kit

From CrateDB to MongoDB: Migration Starter Kit

To use MongoDB for large-scale IoT projects is like using a Swiss Army Knife for changing a flat tire: not a good fit. Migrate to CrateDB and start scaling smoothly for a fraction of the costs.

What about the price?

Due to its document-store structure, MongoDB is not efficient at handling high volumes of IoT time-series data.

We compared the cost of running an industrial IoT use case with MongoDB and with CrateDB. For the same monthly budget, MongoDB gave you access to fewer resources; it also required more memory, and ~60% more storage than CrateDB. In the use case studied, MongoDB's default index already exceeded the RAM available, forcing the user to upgrade to a more expensive machine.

 

CrateDB vs MongoDB: Price comparison                   CrateDB vs MongoDB: Required storage comparison

 

Highlights

CrateDB vs MongoDB

  • For real-time IoT applications with high data volumes and heavy load, CrateDB is a better fit than MongoDB.
  • CrateDB operates more efficiently, offering an optimized performance for IoT workloads for a lower price. Besides, CrateDB is easier to scale and to maintain due to its SQL access and high compatibility, eliminating the risk for vendor lock-in.
 
Blog

Comparing databases for an industrial IoT use-case

A blog post where we talk about our experience as developers working with different databases

 
White Paper

The cost of running MongoDB, TimescaleDB and CrateDB for industrial IoT

Find out how much the monthly price can vary if different databases are used

 
Webinar

Introduction to industrial time series

A discussion about the particularities of industrial time-series data. Why are they different from other time series use cases?