DBMS > Apache IoTDB vs. Datomic vs. Graph Engine vs. HBase vs. Titan
System Properties Comparison Apache IoTDB vs. Datomic vs. Graph Engine vs. HBase vs. Titan
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache IoTDB Xexclude from comparison | Datomic Xexclude from comparison | Graph Engine former name: Trinity Xexclude from comparison | HBase Xexclude from comparison | Titan Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Titan has been decommisioned after the takeover by Datastax. It will be removed from the DB-Engines ranking. A fork has been open-sourced as JanusGraph. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | A distributed in-memory data processing engine, underpinned by a strongly-typed RAM store and a general distributed computation engine | Wide-column store based on Apache Hadoop and on concepts of BigTable | Titan is a Graph DBMS optimized for distributed clusters. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Time Series DBMS | Relational DBMS | Graph DBMS Key-value store | Wide column store | Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | iotdb.apache.org | www.datomic.com | www.graphengine.io | hbase.apache.org | github.com/thinkaurelius/titan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | iotdb.apache.org/UserGuide/Master/QuickStart/QuickStart.html | docs.datomic.com | www.graphengine.io/docs/manual | hbase.apache.org/book.html | github.com/thinkaurelius/titan/wiki | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | Cognitect | Microsoft | Apache Software Foundation Apache top-level project, originally developed by Powerset | Aurelius, owned by DataStax | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2018 | 2012 | 2010 | 2008 | 2012 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.1.0, April 2023 | 1.0.6735, June 2023 | 2.3.4, January 2021 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | commercial limited edition free | Open Source MIT License | Open Source Apache version 2 | Open Source Apache license, version 2.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java, Clojure | .NET and C | Java | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM (>= 1.8) | All OS with a Java VM | .NET | Linux Unix Windows using Cygwin | Linux OS X Unix Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | yes | schema-free, schema definition possible | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | options to bring your own types, AVRO | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like query language | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC Native API | RESTful HTTP API | RESTful HTTP API | Java API RESTful HTTP API Thrift | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# C++ Go Java Python Scala | Clojure Java | C# C++ F# Visual Basic | C C# C++ Groovy Java PHP Python Scala | Clojure Java Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | yes Transaction Functions | yes | yes Coprocessors in Java | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | By using transaction functions | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning (by time range) + vertical partitioning (by deviceId) | none But extensive use of caching in the application peers | horizontal partitioning | Sharding | yes via pluggable storage backends | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | none But extensive use of caching in the application peers | Multi-source replication Source-replica replication | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | Integration with Hadoop and Spark | no | yes | yes via Faunus, a graph analytics engine | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Strong Consistency with Raft | Immediate Consistency | Immediate Consistency or Eventual Consistency | Eventual Consistency Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | yes Relationships in graph | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID | no | Single row ACID (across millions of columns) | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes using external storage systems (e.g. Cassandra, DynamoDB, PostgreSQL, Couchbase and others) | optional: either by committing a write-ahead log (WAL) to the local persistent storage or by dumping the memory to a persistent storage | yes | yes Supports various storage backends: Cassandra, HBase, Berkeley DB, Akiban, Hazelcast | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes recommended only for testing and development | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | yes | no | Access Control Lists (ACL) for RBAC, integration with Apache Ranger for RBAC & ABAC | User authentification and security via Rexster Graph Server | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Datomic | Graph Engine former name: Trinity | HBase | Titan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloudera's HBase PaaS offering now supports Complex Transactions Why is Hadoop not listed in the DB-Engines Ranking? | Graph DBMS increased their popularity by 500% within the last 2 years Graph DBMSs are gaining in popularity faster than any other database category TsFile: A Standard Format for IoT Time Series Data AMD EPYC 8324P / 8324PN Siena 32-Core Siena Linux Server Performance Review Apache Promotes IoT Database Project Benchmarking The Performance Impact To AMD Inception Mitigations IoTDB Provides Data Management for Industrial Edge IT provided by Google News Nubank buys firm behind Clojure programming language Zoona Case Study Architecting Software for Leverage TerminusDB Takes on Data Collaboration with a git-Like Approach Brazil’s Nubank acquires US software firm Cognitect, creator of Clojure and Datomic provided by Google News Trinity Open source Microsoft Graph Engine takes on Neo4j Aerospike Is Now a Graph Database, Too IBM releases Graph, a service that can outperform SQL databases The graph analytics landscape 2019 - DataScienceCentral.com provided by Google News Less Components, Higher Performance: Apache Doris instead of ClickHouse, MySQL, Presto, and HBase HBase: The database big data left behind Monitor Apache HBase on Amazon EMR using Amazon Managed Service for Prometheus and Amazon Managed ... HydraBase – The evolution of HBase@Facebook - Engineering at Meta A Look At HBase, the NoSQL Database Built on Hadoop provided by Google News Titan Graph Database Integration with DynamoDB: World-class Performance, Availability, and Scale for New Workloads Amazon DynamoDB Storage Backend for Titan: Distributed Graph Database | Amazon Web Services JanusGraph Picks Up Where TitanDB Left Off DSE Graph review: Graph database does double duty Database Deep Dives: JanusGraph provided by Google News |
Share this page