DBMS > Apache Drill vs. Apache Druid vs. Citus vs. HarperDB vs. JanusGraph
System Properties Comparison Apache Drill vs. Apache Druid vs. Citus vs. HarperDB vs. JanusGraph
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Drill Xexclude from comparison | Apache Druid Xexclude from comparison | Citus Xexclude from comparison | HarperDB Xexclude from comparison | JanusGraph successor of Titan Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage | Open-source analytics data store designed for sub-second OLAP queries on high dimensionality and high cardinality data | Scalable hybrid operational and analytics RDBMS for big data use cases based on PostgreSQL | Ultra-low latency distributed database with an intuitive REST API supporting NoSQL and SQL (including joins). Deployment of functions and databases simultaneously with a consolidated node-level architecture. | A Graph DBMS optimized for distributed clusters It was forked from the latest code base of Titan in January 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Relational DBMS | Relational DBMS Time Series DBMS | Relational DBMS | Document store | Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | drill.apache.org | druid.apache.org | www.citusdata.com | www.harperdb.io | janusgraph.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | drill.apache.org/docs | druid.apache.org/docs/latest/design | docs.citusdata.com | docs.harperdb.io/docs | docs.janusgraph.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | Apache Software Foundation and contributors | HarperDB | Linux Foundation; originally developed as Titan by Aurelius | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2012 | 2010 | 2017 | 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.20.3, January 2023 | 29.0.1, April 2024 | 8.1, December 2018 | 3.1, August 2021 | 0.6.3, February 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2 | Open Source Apache license v2 | Open Source AGPL, commercial license also available | commercial free community edition available | Open Source Apache 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 | C | Node.js | Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X Windows | Linux OS X Unix | Linux | Linux OS X | Linux OS X Unix Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes schema-less columns are supported | yes | dynamic schema | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | 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 | yes specific XML type available, but no XML query functionality | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | no | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL SELECT statement is SQL:2003 compliant | SQL for querying | yes standard, with numerous extensions | SQL-like data manipulation statements | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC ODBC RESTful HTTP API | JDBC RESTful HTTP/JSON API | ADO.NET JDBC native C library ODBC streaming API for large objects | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C++ | Clojure JavaScript PHP Python R Ruby Scala | .Net C C++ Delphi Java JavaScript (Node.js) Perl PHP Python Tcl | .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 | Clojure Java Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions | no | user defined functions realized in proprietary language PL/pgSQL or with common languages like Perl, Python, Tcl etc. | Custom Functions since release 3.1 | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding manual/auto, time-based | Sharding | A table resides as a whole on one (or more) nodes in a cluster | yes depending on the used storage backend (e.g. Cassandra, HBase, BerkeleyDB) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes, via HDFS, S3 or other storage engines | Source-replica replication other methods possible by using 3rd party extensions | yes the nodes on which a table resides can be defined | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | no | no | yes via Faunus, a graph analytics engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | Immediate Consistency | Immediate Consistency | Immediate Consistency | Eventual Consistency Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes | no | yes Relationships in graphs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | no | ACID | Atomic execution of specific operations | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | Depending on the underlying data source | yes | yes | yes, using LMDB | 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. | Depending on the underlying data source | no | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Depending on the underlying data source | RBAC using LDAP or Druid internals for users and groups for read/write by datasource and system | fine grained access rights according to SQL-standard | Access rights for users and roles | 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 Drill | Apache Druid | Citus | HarperDB | JanusGraph successor of Titan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Apache Drill vs. Apache Spark — Which SQL query engine is better for you? Apache Drill case study: A tutorial on processing CSV files Apache Drill Poised to Crack Tough Data Challenges Apache Drill Eliminates ETL, Data Transformation for MapR Database Drill Mines Diverse Data Sets, Google Style provided by Google News | Apache Druid Wins Best Big Data Product in the 2023 BigDATAwire Readers' Choice Awards 'Lucifer' Botnet Turns Up the Heat on Apache Hadoop Servers New DDoS malware Attacking Apache big-data stack, Hadoop, & Druid Servers Apache Druid Takes Its Place In The Pantheon Of Databases How to connect DataGrip to Apache Druid | by Zisis Flokas provided by Google News | Ubicloud wants to build an open source alternative to AWS Ubicloud reels in $16M for its open-source cloud platform Microsoft acquires Citus Data, re-affirming its commitment to Open Source and accelerating Azure PostgreSQL ... Distributed PostgreSQL Benchmarks: Azure Cosmos DB, CockroachDB, and YugabyteDB Microsoft Benchmarks Distributed PostgreSQL DBs provided by Google News | Serent Capital invests in software firm HarperDB HarperDB Attracts Significant Growth Investment from Serent Capital HarperDB Receives Growth Investment from Serent Capital Startups of the Year 2023: Meet HarperDB - A Database and Application Development Platform Jaxon Repp on HarperDB Distributed Database Platform provided by Google News | Simple Deployment of a Graph Database: JanusGraph | by Edward Elson Kosasih Database Deep Dives: JanusGraph JanusGraph Picks Up Where TitanDB Left Off Nordstrom Builds Flexible Backend Ops with Kubernetes, Spark and JanusGraph Compose for JanusGraph arrives on Bluemix provided by Google News |
Share this page