DBMS > Apache Druid vs. Google Cloud Spanner vs. IBM Db2 Event Store vs. Percona Server for MongoDB vs. SQL.JS
System Properties Comparison Apache Druid vs. Google Cloud Spanner vs. IBM Db2 Event Store vs. Percona Server for MongoDB vs. SQL.JS
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Druid Xexclude from comparison | Google Cloud Spanner Xexclude from comparison | IBM Db2 Event Store Xexclude from comparison | Percona Server for MongoDB Xexclude from comparison | SQL.JS Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Open-source analytics data store designed for sub-second OLAP queries on high dimensionality and high cardinality data | A horizontally scalable, globally consistent, relational database service. It is the externalization of the core Google database that runs the biggest aspects of Google, like Ads and Google Play. | Distributed Event Store optimized for Internet of Things use cases | A drop-in replacement for MongoDB Community Edition with enterprise-grade features. | Port of SQLite to JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS Time Series DBMS | Relational DBMS | Event Store Time Series DBMS | Document store | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | druid.apache.org | cloud.google.com/spanner | www.ibm.com/products/db2-event-store | www.percona.com/mongodb/software/percona-server-for-mongodb | sql.js.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | druid.apache.org/docs/latest/design | cloud.google.com/spanner/docs | www.ibm.com/docs/en/db2-event-store | docs.percona.com/percona-distribution-for-mongodb | sql.js.org/documentation/index.html | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation and contributors | IBM | Percona | Alon Zakai enhancements implemented by others | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2017 | 2017 | 2015 | 2012 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 29.0.1, April 2024 | 2.0 | 3.4.10-2.10, November 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache license v2 | commercial | commercial free developer edition available | Open Source GPL Version 2 | Open Source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | yes | 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 and C++ | C++ | JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X Unix | hosted | Linux Linux, macOS, Windows for the developer addition | Linux | server-less, requires a JavaScript environment (browser, Node.js) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes schema-less columns are supported | yes | yes | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | yes | 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 | yes | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL for querying | yes Query statements complying to ANSI 2011 | yes through the embedded Spark runtime | no | yes SQL-92 is not fully supported | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC RESTful HTTP/JSON API | gRPC (using protocol buffers) API JDBC At present, JDBC supports read-only queries. No support for DDL or DML statements. RESTful HTTP API | ADO.NET DB2 Connect JDBC ODBC RESTful HTTP API | proprietary protocol using JSON | JavaScript API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure JavaScript PHP Python R Ruby Scala | Go Java JavaScript (Node.js) Python | C C# C++ Cobol Delphi Fortran Go Java JavaScript (Node.js) Perl PHP Python R Ruby Scala Visual Basic | Actionscript C C# C++ Clojure ColdFusion D Dart Delphi Erlang Go Groovy Haskell Java JavaScript Lisp Lua MatLab Perl PHP PowerShell Prolog Python R Ruby Scala Smalltalk | JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | yes | JavaScript | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding manual/auto, time-based | Sharding | Sharding | Sharding | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes, via HDFS, S3 or other storage engines | Multi-source replication with 3 replicas for regional instances. | Active-active shard replication | Source-replica replication | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes using Google Cloud Dataflow | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Eventual Consistency | Eventual Consistency Immediate Consistency | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes by using interleaved tables, this features focuses more on performance improvements than on referential integrity | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | ACID Strict serializable isolation | no | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | No - written data is immutable | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | Yes - Synchronous writes to local disk combined with replication and asynchronous writes in parquet format to permanent shared storage | yes | no except by serializing a db to a file | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | yes | yes via In-Memory Engine | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | RBAC using LDAP or Druid internals for users and groups for read/write by datasource and system | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | fine grained access rights according to SQL-standard | Access rights for users and roles | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Google Cloud Spanner | IBM Db2 Event Store | Percona Server for MongoDB | SQL.JS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | New kids on the block: database management systems implemented in JavaScript 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 Hadoop, & Druid Servers Imply Data gives Apache Druid schema auto-discover capability Imply Announces Automatic Schema Discovery for Apache Druid, Reinforcing Druid's Leadership for Real-Time ... provided by Google News Google Improves Cloud Spanner: More Compute and Storage without Price Increase Google makes its Cloud Spanner database service faster and more cost-efficient Google turns up the heat on AWS, claims Cloud Spanner is half the cost of DynamoDB Google Spanner: When Do You Need to Move to It? More AI Added to Google Cloud's Databases provided by Google News The vision for Db2 Advancements in streaming data storage, real-time analysis and machine learning How IBM Is Turning Db2 into an 'AI Database' IBM Builds New Ultra-Fast Platform for Hoovering Up and Analyzing Data from Anywhere Best cloud databases of 2022 provided by Google News 5 Reasons to Run MongoDB on Kubernetes Percona launches management system aimed at open-source databases FerretDB goes GA: Gives you MongoDB, without the MongoDB... The essential guide to MongoDB security Percona's DBMS Popularity Survey provided by Google News 9 Best JavaScript and TypeScript ORMs for 2024 — SitePoint Execute millions of SQL statements in milliseconds in the browser with WebAssembly and Web Workers. SQLite On The Web: Absurd-sql Running PostgreSQL Inside Your Browser LokiJS - A JavaScript Database provided by Google News |
Share this page