DBMS > Apache Druid vs. Datomic vs. Derby vs. EsgynDB vs. Google Cloud Bigtable
System Properties Comparison Apache Druid vs. Datomic vs. Derby vs. EsgynDB vs. Google Cloud Bigtable
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Druid Xexclude from comparison | Datomic Xexclude from comparison | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB Xexclude from comparison | EsgynDB Xexclude from comparison | Google Cloud Bigtable Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Open-source analytics data store designed for sub-second OLAP queries on high dimensionality and high cardinality data | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | Full-featured RDBMS with a small footprint, either embedded into a Java application or used as a database server. | Enterprise-class SQL-on-Hadoop solution, powered by Apache Trafodion | Google's NoSQL Big Data database service. It's the same database that powers many core Google services, including Search, Analytics, Maps, and Gmail. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS Time Series DBMS | Relational DBMS | Relational DBMS | Relational DBMS | Key-value store Wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | druid.apache.org | www.datomic.com | db.apache.org/derby | www.esgyn.cn | cloud.google.com/bigtable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | druid.apache.org/docs/latest/design | docs.datomic.com | db.apache.org/derby/manuals/index.html | cloud.google.com/bigtable/docs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation and contributors | Cognitect | Apache Software Foundation | Esgyn | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2012 | 1997 | 2015 | 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 29.0.1, April 2024 | 1.0.7075, December 2023 | 10.17.1.0, November 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache license v2 | commercial limited edition free | Open Source Apache version 2 | commercial | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java, Clojure | Java | C++, Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X Unix | All OS with a Java VM | All OS with a Java VM | Linux | hosted | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes schema-less columns are supported | yes | yes | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL for querying | no | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC RESTful HTTP/JSON API | RESTful HTTP API | JDBC | ADO.NET JDBC ODBC | gRPC (using protocol buffers) API HappyBase (Python library) HBase compatible API (Java) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure JavaScript PHP Python R Ruby Scala | Clojure Java | Java | All languages supporting JDBC/ODBC/ADO.Net | C# C++ Go Java JavaScript (Node.js) Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | yes Transaction Functions | Java Stored Procedures | Java Stored Procedures | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | By using transaction functions | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding manual/auto, time-based | none But extensive use of caching in the application peers | none | Sharding | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes, via HDFS, S3 or other storage engines | none But extensive use of caching in the application peers | Source-replica replication | Multi-source replication between multi datacenters | Internal replication in Colossus, and regional replication between two clusters in different zones | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate consistency (for a single cluster), Eventual consistency (for two or more replicated clusters) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID | ACID | ACID | Atomic single-row operations | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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) | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes recommended only for testing and development | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | RBAC using LDAP or Druid internals for users and groups for read/write by datasource and system | no | fine grained access rights according to SQL-standard | fine grained access rights according to SQL-standard | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Druid | Datomic | Derby often called Apache Derby, originally IBM Cloudscape; contained in the Java SDK as JavaDB | EsgynDB | Google Cloud Bigtable | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the 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 | Nubank buys firm behind Clojure programming language 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 James Dixon Imagines A Data Lake That Matters provided by Google News | JDBC tutorial: Easy installation and setup with Apache Derby Installing Apache Hive 3.1.2 on Windows 10 | by Hadi Fadlallah The Arrival of Java 20 The Apache® Software Foundation Announces 18 Years of Open Source Leadership No, Citrix did not kill CloudStack provided by Google News | Google says it'll stop charging fees to transfer data out of Google Cloud Google Introduces Autoscaling for Cloud Bigtable for Optimizing Costs Google scales up Cloud Bigtable NoSQL database Review: Google Bigtable scales with ease Google introduces Cloud Bigtable managed NoSQL database to process data at scale provided by Google News |
Share this page