DBMS > Apache IoTDB vs. Cloudflare Workers KV vs. Graph Engine vs. HarperDB vs. Microsoft Azure Synapse Analytics
System Properties Comparison Apache IoTDB vs. Cloudflare Workers KV vs. Graph Engine vs. HarperDB vs. Microsoft Azure Synapse Analytics
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache IoTDB Xexclude from comparison | Cloudflare Workers KV Xexclude from comparison | Graph Engine former name: Trinity Xexclude from comparison | HarperDB Xexclude from comparison | Microsoft Azure Synapse Analytics previously named Azure SQL Data Warehouse 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 global, low-latency, key-value store for applications on Cloudflare with exceptionally high read volumes and low-latency. | A distributed in-memory data processing engine, underpinned by a strongly-typed RAM store and a general distributed computation engine | HarperDB takes the "stack" out of "tech stack" by combining an ultra-fast document-style data store, in-memory cache, real-time message broker, and your application components into a single distributed technology. | Elastic, large scale data warehouse service leveraging the broad eco-system of SQL Server | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Time Series DBMS | Key-value store | Graph DBMS Key-value store | Document store | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | iotdb.apache.org | www.cloudflare.com/developer-platform/workers-kv | www.graphengine.io | www.harperdb.io | azure.microsoft.com/services/synapse-analytics | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | iotdb.apache.org/UserGuide/Master/QuickStart/QuickStart.html | developers.cloudflare.com/kv/api | www.graphengine.io/docs/manual | docs.harperdb.io/docs | docs.microsoft.com/azure/synapse-analytics | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | Cloudflare | Microsoft | HarperDB | Microsoft | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2018 | 2018 | 2010 | 2017 | 2016 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.1.0, April 2023 | 3.1, August 2021 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | commercial | Open Source MIT License | commercial free community edition available | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | yes | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | .NET and C | Node.js | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM (>= 1.8) | hosted | .NET | Linux OS X | hosted | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | yes | dynamic schema | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no | yes | yes JSON data types | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | no | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like query language | no | no | SQL-like data manipulation statements | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC Native API | HTTP REST Proprietary protocol | RESTful HTTP API | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | ADO.NET JDBC ODBC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# C++ Go Java Python Scala | C C++ Dart JavaScript Kotlin Python Rust Scala | C# C++ F# Visual Basic | .Net C C# C++ ColdFusion D Dart Delphi Erlang Go Haskell Java JavaScript (Node.js) Lisp MatLab Objective C Perl PHP PowerShell Prolog Python R Ruby Rust Scala Swift | C# Java PHP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | no | yes | Custom Functions since release 3.1 | Transact SQL | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning (by time range) + vertical partitioning (by deviceId) | horizontal partitioning | A table resides as a whole on one (or more) nodes in a cluster | Sharding, horizontal partitioning | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes the nodes on which a table resides can be defined | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | Integration with Hadoop and Spark | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Strong Consistency with Raft | Eventual Consistency | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | no docs.microsoft.com/en-us/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-table-constraints | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | no | no | Atomic execution of specific operations | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | optional: either by committing a write-ahead log (WAL) to the local persistent storage or by dumping the memory to a persistent storage | yes, using LMDB | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | no | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | yes | Access rights for users and roles | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe 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 | Cloudflare Workers KV | Graph Engine former name: Trinity | HarperDB | Microsoft Azure Synapse Analytics previously named Azure SQL Data Warehouse | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | TsFile: A Standard Format for IoT Time Series Data Intel Core Ultra 9 285K "Arrow Lake" Delivers Strong Linux Performance Review AMD EPYC 9755 DDR5-4800 vs. DDR5-6000 Memory Performance AMD Debuts EPYC 8004 Series CPUs For Power-Efficient Intelligent Edge Solutions Top 10 Apache projects in 2021, from Superset, to NuttX and Pulsar provided by Google News | We made Workers KV up to 3x faster — here’s the data Making Workers AI faster and more efficient: Performance optimization with KV cache compression and speculative decoding Improved Cloudflare Workers testing via Vitest and workerd Wrapping up another Birthday Week celebration Why Workers environment variables contain live objects provided by Google News | Trinity Open source Microsoft Graph Engine takes on Neo4j Graph databases are hot, but can they break relational’s grip? How Google and Microsoft taught search to “understand” the Web thatDot launches Quine, a streaming graph engine provided by Google News | Defense Innovation Unit Issues Success Memo to HarperDB for its Common Operation Database Prototype HarperDB Attracts Significant Growth Investment from Serent Capital DoD Successfully Deploys Commercial AI Solutions for COD Project Wilson Sonsini Advises Serent Capital on Significant Growth Investment in HarperDB HarperDB Welcomes Former Couchbase CEO, Bob Wiederhold, as Executive Chairman provided by Google News | Azure Synapse Analytics: Transforming Data Management General Available: Azure Synapse Runtime for Apache Spark 3.4 is now GA Azure Synapse Runtime for Apache Spark 3.2 End of Support Enable location analytics with Azure Maps Announcing General Availability of Graph Semantics in Kusto provided by Google News |
Share this page