DBMS > Apache Drill vs. Apache Phoenix vs. KeyDB vs. OrientDB vs. RethinkDB
System Properties Comparison Apache Drill vs. Apache Phoenix vs. KeyDB vs. OrientDB vs. RethinkDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Drill Xexclude from comparison | Apache Phoenix Xexclude from comparison | KeyDB Xexclude from comparison | OrientDB Xexclude from comparison | RethinkDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Schema-free SQL Query Engine for Hadoop, NoSQL and Cloud Storage | A scale-out RDBMS with evolutionary schema built on Apache HBase | An ultra-fast, open source Key-value store fully compatible with Redis API, modules, and protocols | Multi-model DBMS (Document, Graph, Key/Value) | DBMS for the Web with a mechanism to push updated query results to applications in realtime. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Relational DBMS | Relational DBMS | Key-value store | Document store Graph DBMS Key-value store | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | drill.apache.org | phoenix.apache.org | github.com/Snapchat/KeyDB keydb.dev | orientdb.org | rethinkdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | drill.apache.org/docs | phoenix.apache.org | docs.keydb.dev | www.orientdb.com/docs/last/index.html | rethinkdb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation | Apache Software Foundation | EQ Alpha Technology Ltd. | OrientDB LTD; CallidusCloud; SAP | The Linux Foundation since July 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2014 | 2019 | 2010 | 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.20.3, January 2023 | 5.0-HBase2, July 2018 and 4.15-HBase1, December 2019 | 3.2.29, March 2024 | 2.4.1, August 2020 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2 | Open Source Apache Version 2.0 | Open Source BSD-3 | Open Source Apache version 2 | Open Source Apache Version 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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++ | Java | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X Windows | Linux Unix Windows | Linux | All OS with a Java JDK (>= JDK 6) | Linux OS X Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes late-bound, schema-on-read capabilities | schema-free | schema-free Schema can be enforced for whole record ("schema-full") or for some fields only ("schema-hybrid") | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | partial Supported data types are strings, hashes, lists, sets and sorted sets, bit arrays, hyperloglogs and geospatial indexes | yes | yes string, binary, float, bool, date, geometry | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | yes | yes by using the Redis Search module | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL SELECT statement is SQL:2003 compliant | yes | no | SQL-like query language, no joins | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC ODBC RESTful HTTP API | JDBC | Proprietary protocol RESP - REdis Serialization Protoco | Tinkerpop technology stack with Blueprints, Gremlin, Pipes Java API RESTful HTTP/JSON API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C++ | C C# C++ Go Groovy Java PHP Python Scala | C C# C++ Clojure Crystal D Dart Elixir Erlang Fancy Go Haskell Haxe Java JavaScript (Node.js) Lisp Lua MatLab Objective-C OCaml Pascal Perl PHP Prolog Pure Data Python R Rebol Ruby Rust Scala Scheme Smalltalk Swift Tcl Visual Basic | .Net C C# C++ Clojure Java JavaScript JavaScript (Node.js) PHP Python Ruby Scala | C community-supported driver C# community-supported driver C++ community-supported driver Clojure community-supported driver Dart community-supported driver Erlang community-supported driver Go community-supported driver Haskell community-supported driver Java official driver JavaScript (Node.js) official driver Lisp community-supported driver Lua community-supported driver Objective-C community-supported driver Perl community-supported driver PHP community-supported driver Python official driver Ruby official driver Scala community-supported driver | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions | user defined functions | Lua | Java, Javascript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | no | Hooks | Client-side triggers through changefeeds | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding | Sharding | Sharding | Sharding range based | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication Source-replica replication | Multi-source replication Source-replica replication | Multi-source replication | Source-replica replication | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | Hadoop integration | no | no could be achieved with distributed queries | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | none | Immediate Consistency or Eventual Consistency | Eventual Consistency Strong eventual consistency with CRDTs | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | yes relationship in graphs | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID | Optimistic locking, atomic execution of commands blocks and scripts | ACID | Atomic single-document operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes MVCC based | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | Depending on the underlying data source | yes | yes Configurable mechanisms for persistency via snapshots and/or operations logs | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Depending on the underlying data source | Access Control Lists (using HBase ACL) for RBAC, integration with Apache Ranger for RBAC & ABAC, multi-tenancy | simple password-based access control and ACL | Access rights for users and roles; record level security configurable | yes users and table-level permissions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Phoenix | KeyDB | OrientDB | RethinkDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloudera's HBase PaaS offering now supports Complex Transactions | Graph DBMS increased their popularity by 500% within the last 2 years Graph DBMSs are gaining in popularity faster than any other database category | Meet some database management systems you are likely to hear more about in the future Using Apache Iceberg for Developing Modern Data Tables Analyse Kafka messages with SQL queries using Apache Drill Apache Drill case study: A tutorial on processing CSV files Apache Drill improves big data SQL query engine Apache Drill Eliminates ETL, Data Transformation for MapR Database provided by Google News Supercharge SQL on Your Data in Apache HBase with Apache Phoenix | Amazon Web Services Bridge the SQL-NoSQL gap with Apache Phoenix What Is HBase? (Definition, Uses, Benefits, Features) Azure HDInsight Analytics Platform Now Supports Apache Hadoop 3.0 Amazon EMR 4.7.0 – Apache Tez & Phoenix, Updates to Existing Apps | Amazon Web Services provided by Google News Snap snaps up database developer KeyDB to make its infrastructure more snappy Snap Acquires KeyDB for Open-Source Services Garnet–open-source faster cache-store speeds up applications, services Dragonfly 1.0 Released For What Claims To Be The World's Fastest In-Memory Data Store Microsoft open-sources Garnet cache-store -- a Redis rival? provided by Google News OrientDB: A Flexible and Scalable Multi-Model NoSQL DBMS Comparing Graph Databases II. Part 2: ArangoDB, OrientDB, and… | by Sam Bell CallidusCloud Acquires Leading Multi-Model Database Technology The 12 Best Graph Databases to Consider for 2024 K2View updates DataOps platform with data fabric automation provided by Google News An introduction to building realtime apps with RethinkDB How to Use RethinkDB with Node.js Applications — SitePoint Stripe acquires team behind NoSQL database startup RethinkDB MongoDB: The Popular Database for IoT RethinkDB is dead, and MongoDB isn't what killed it provided by Google News |
Share this page