DBMS > Apache IoTDB vs. Hazelcast vs. Microsoft Azure Data Explorer vs. ObjectBox vs. Prometheus
System Properties Comparison Apache IoTDB vs. Hazelcast vs. Microsoft Azure Data Explorer vs. ObjectBox vs. Prometheus
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache IoTDB Xexclude from comparison | Hazelcast Xexclude from comparison | Microsoft Azure Data Explorer Xexclude from comparison | ObjectBox Xexclude from comparison | Prometheus Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An IoT native database with high performance for data management and analysis, deployable on the edge and the cloud and integrated with Hadoop, Spark and Flink | A widely adopted in-memory data grid | Fully managed big data interactive analytics platform | Lightweight, fast on-device database for IoT, Mobile and Embedded devices, persisting and synchronising objects and vectors | Open-source Time Series DBMS and monitoring system | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Time Series DBMS | Key-value store | Relational DBMS column oriented | Object oriented DBMS Vector DBMS | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store JSON support with IMDG 3.12 | Document store If a column is of type dynamic docs.microsoft.com/en-us/azure/kusto/query/scalar-data-types/dynamic then it's possible to add arbitrary JSON documents in this cell Event Store this is the general usage pattern at Microsoft. Billing, Logs, Telemetry events are stored in ADX and the state of an individual entity is defined by the arg_max(timestamps) Spatial DBMS Search engine support for complex search expressions docs.microsoft.com/en-us/azure/kusto/query/parseoperator FTS, Geospatial docs.microsoft.com/en-us/azure/kusto/query/geo-point-to-geohash-function distributed search -> ADX acts as a distributed search engine Time Series DBMS see docs.microsoft.com/en-us/azure/data-explorer/time-series-analysis | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | iotdb.apache.org | hazelcast.com | azure.microsoft.com/services/data-explorer | github.com/objectbox objectbox.io | prometheus.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | iotdb.apache.org/UserGuide/Master/QuickStart/QuickStart.html | hazelcast.org/imdg/docs | docs.microsoft.com/en-us/azure/data-explorer | docs.objectbox.io | prometheus.io/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | Hazelcast | Microsoft | ObjectBox Limited | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2018 | 2008 | 2019 | 2017 | 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.1.0, April 2023 | 5.3.6, November 2023 | cloud service with continuous releases | 4.0 (May 2024) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | Open Source Apache Version 2; commercial licenses available | commercial | Bindings are released under Apache 2.0 Apache License 2.0 | Open Source Apache 2.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java | C and C++ | Go | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM (>= 1.8) | All OS with a Java VM | hosted | Android Any POSIX system Docker iOS Linux macOS QNX Windows | Linux Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | Fixed schema with schema-less datatypes (dynamic) | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes bool, datetime, dynamic, guid, int, long, real, string, timespan, double: docs.microsoft.com/en-us/azure/kusto/query/scalar-data-types | yes, plus "flex" map-like types | Numeric data only | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support Some form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT. | no | yes the object must implement a serialization strategy | yes | no | no Import of XML data possible | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | all fields are automatically indexed | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like query language | SQL-like query language | Kusto Query Language (KQL), SQL subset | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC Native API | JCache JPA Memcached protocol RESTful HTTP API | Microsoft SQL Server communication protocol (MS-TDS) RESTful HTTP API | Proprietary native API | RESTful HTTP/JSON API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# C++ Go Java Python Scala | .Net C# C++ Clojure Go Java JavaScript (Node.js) Python Scala | .Net Go Java JavaScript (Node.js) PowerShell Python R | C C++ Dart (Flutter) Go Java Kotlin Python Swift | .Net C++ Go Haskell Java JavaScript (Node.js) Python Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | yes Event Listeners, Executor Services | Yes, possible languages: KQL, Python, R | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes Events | yes see docs.microsoft.com/en-us/azure/kusto/management/updatepolicy | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning (by time range) + vertical partitioning (by deviceId) | Sharding | Sharding Implicit feature of the cloud service | none | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | selectable replication methods; using Raft/IoTConsensus algorithm to ensure strong/eventual data consistency among multiple replicas | yes Replicated Map | yes Implicit feature of the cloud service. Replication either local, cross-facility or geo-redundant. | Data sync between devices allowing occasional connected databases to work completely offline | yes by Federation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | Integration with Hadoop and Spark | yes | Spark connector (open source): github.com/Azure/azure-kusto-spark | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Strong Consistency with Raft | Immediate Consistency or Eventual Consistency selectable by user Raft Consensus Algorithm | Eventual Consistency Immediate Consistency | Immediate Consistency | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | one or two-phase-commit; repeatable reads; read commited | no | ACID | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | yes | Role-based access control | Azure Active Directory Authentication | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache IoTDB | Hazelcast | Microsoft Azure Data Explorer | ObjectBox | Prometheus | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | MongoDB Realm & Device Sync alternatives – ObjectBox Local AI – what it is and why we need it First on-device Vector Database (aka Semantic Index) for iOS Retrieval Augmented Generation (RAG) with vector databases: Expanding AI Capabilities The on-device Vector Database for Android and Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and servicesWe invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache IoTDB | Hazelcast | Microsoft Azure Data Explorer | ObjectBox | Prometheus | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | AMD Zen 5 Not Affected By Inception/SRSO, mitigations=off Yields No Benefit On Ryzen 9000 Series TsFile: A Standard Format for IoT Time Series Data AMD EPYC 8534P / EPYC 8534PN Benchmarks - Siena Delivers Incredible Value & Energy Efficiency For Linux Servers Review Apache Promotes IoT Database Project IoTDB Provides Data Management for Industrial Edge IT provided by Google News | Event Stream Processing Market Exploring Future Growth 2023-2032 and Key Players - Cloudera, Inc., Hazelcast, Hazelcast 5.4 real time data processing platform boosts AI and consistency Hazelcast Expands Global Partner Program to Support Mission-Critical, AI Application Projects Hazelcast Weaves Wider Logic Threads Through The Data Fabric Hazelcast Showcases Real-Time Data Platform at 2024 Gartner Summit provided by Google News | We’re retiring Azure Time Series Insights on 7 July 2024 – transition to Azure Data Explorer Update records in a Kusto Database (public preview) Announcing General Availability to migrate Virtual Network injected Azure Data Explorer Cluster to Private Endpoints Announcing General Availability of Graph Semantics in Kusto General availability: Azure Data Explorer adds new geospatial capabilities provided by Google News | Introducing the Amazon Timestream for LiveAnalytics Prometheus Connector How to Monitor an Ubuntu Server With Prometheus: Collecting and Visualizing System Metrics VTEX scales to 150 million metrics using Amazon Managed Service for Prometheus Consider Grafana vs. Prometheus for your time-series tools My Prometheus is Overwhelmed! Help! provided by Google News |
Share this page