There is no one-size-fits-all when it comes to databases: the ideal database will be determined by your use case and dataset. The characteristics of CrateDB make it optimal for real-time IoT use-cases with high data volumes, data variety, and heavy load, as it is the case, for example, in industrial IoT.
Industrial IoT use-case
CrateDB is neither a relational database, nor a NoSQL database, nor a time-series database; instead, it offers the best of these worlds. CrateDB is a distributed database built on a NoSQL foundation, but fully accessible through SQL.
CrateDB is able to work with large datasets without losing accuracy, keeping things simple and efficient. And due to its real-time features, indexing, and schemas, CrateDB is ideal for handling huge amounts of time-series data.
|Traditional RDBMS||NoSQL||Time-series databases||CrateDB|
|High data ingestion||-|
|High data versatility||-||-|
CrateDB VS Traditional RDBMS
Traditional relational databases can be an excellent choice for a use case without huge data volumes or high scalability needs. But they are insufficient for IoT applications demanding horizontal scalability and the real-time processing of massive datasets.
|Accessibility||ANSI SQL||ANSI SQL|
|Core architecture||Monolithic or master/slave||Shared-nothing nodes|
|Data model||Rigid schemas of tabular data||Dynamic schema, structured & unstructured data|
|Consistency model||ACID||Eventually consistent|
|Scalability model||Vertical scaling||Horizontal scalability|
|Full-text search||Not built-in||Built-in (Lucene indexing)|
CrateDB vs NoSQL
NoSQL databases like MongoDB are not the best choice if you are dealing with huge volumes of time-series data that need to be queried in real-time. NoSQL databases can get very expensive for IoT use cases at scale, consuming unnecessarily large memory and storage capacity. At the same time, you must abandon the power and convenience of SQL.
In this blogpost we talk about our experience as developers working with MongoDB, TimescaleDB and InfluxDB, discussing the pros and cons of every database for large-scale IoT.
CrateDB vs time-series databases
Time series databases like InfluxDB or TimescaleDB are unable to handle many IoT applications by themselves—if they require metadata operations, for example. They often need to work in combination with an RDBMS, duplicating maintenance efforts and costs. Besides, their performance is usually optimized for single-node processes.
Digital transformation in the factory floor
How are manufacturers addressing innovation in their factories?
Time-series data in manufacturing
Discover the particularities of industrial time series
Amazon Timestream is finally released: read our first impressions
We tested its performance against an industrial-grade IoT workload