Find out how CrateDB compares to other databases in terms of characteristics, performance, and pricing
InfluxDB is a database specialized in time series, with excellent performance for single-node operations. But InfluxDB was not built to handle the scalability, adaptability, and high-concurrency performance required by many IoT use cases.
Unlike InfluxDB, CrateDB was designed to optimize the use of resources under multiple clients, providing millisecond responses even while performing writes. It features full horizontal scaling, a shared-nothing architecture, and automatic data rebalancing. To scale, just add more nodes to the cluster. CrateDB does the rest automatically.
|Cluster type||Shared-nothing, two cluster architecture (meta nodes & data nodes)||Shared-nothing|
|Scalability||Limited||Full horizontal scalability|
|Data replication||At table level||At table level|
|On-disk compression||Type dependent||LZF|
|Open-source||MIT License||Apache 2.0|
|Access language||Flux||ANSI SQL|
|Full-text search||No||Yes (Lucene powered)|
InfluxDB uses its own language, Flux. This implies that the only source available for support is the InfluxDB documentation. Besides, InfluxDB’s data model is non-relational, and it doesn’t support text search, log search, or analytics.
On the contrary, CrateDB is fully accessible using SQL. And CrateDB schemas are flexible, allowing the user to add columns at any point without slowing performance or downtime.
What about the price?
To accommodate the data variety typical of many IoT applications, InfluxDB might need to be used in combination with another database, duplicating maintenance efforts and costs.
By contrast, with CrateDB you will only need one database. Cost efficiency is a core value of CrateDB, with an indexing structure perfectly suited to handle huge volumes of time-series data. Besides, it implements memory-resident columnar field caches on each node for an efficient real-time response.
CrateDB vs InfluxDB
- InfluxDB is an excellent option for single-node time-series workloads. For real-time applications with high volumes, data variety, and heavy load, CrateDB is a better choice, due to its distributed nature, its SQL access, and its unparallel cost-efficiency.
Comparing databases for an industrial IoT use-case
A post where we talk about our experience as developers working with different databases, including InfluxDB
CrateDB: Technical Overview
A detailed description of CrateDB's architecture. Find out more about how CrateDB is built!