DBMS > Apache Druid vs. EJDB vs. Google Cloud Spanner vs. MongoDB vs. PouchDB
System Properties Comparison Apache Druid vs. EJDB vs. Google Cloud Spanner vs. MongoDB vs. PouchDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Druid Xexclude from comparison | EJDB Xexclude from comparison | Google Cloud Spanner Xexclude from comparison | MongoDB Xexclude from comparison | PouchDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Open-source analytics data store designed for sub-second OLAP queries on high dimensionality and high cardinality data | Embeddable document-store database library with JSON representation of queries (in MongoDB style) | 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. | One of the most popular document stores available both as a fully managed cloud service and for deployment on self-managed infrastructure | JavaScript DBMS with an API inspired by CouchDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS Time Series DBMS | Document store | Relational DBMS | Document store | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS Search engine integrated Lucene index, currently in MongoDB Atlas only. Time Series DBMS Time Series Collections introduced in Release 5.0 Vector DBMS currently available in the MongoDB Atlas cloud service only | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | druid.apache.org | github.com/Softmotions/ejdb | cloud.google.com/spanner | www.mongodb.com | pouchdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | druid.apache.org/docs/latest/design | github.com/Softmotions/ejdb/blob/master/README.md | cloud.google.com/spanner/docs | www.mongodb.com/docs/manual | pouchdb.com/guides | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation and contributors | Softmotions | MongoDB, Inc | Apache Software Foundation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2012 | 2017 | 2009 | 2012 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 29.0.1, April 2024 | 6.0.7, June 2023 | 7.1.1, June 2019 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache license v2 | Open Source GPLv2 | commercial | Open Source MongoDB Inc.'s Server Side Public License v1. Prior versions were published under GNU AGPL v3.0. Commercial licenses are also available. | Open Source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | yes | no MongoDB available as DBaaS (MongoDB Atlas) | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | C | C++ | JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X Unix | server-less | hosted | Linux OS X Solaris Windows | server-less, requires a JavaScript environment (browser, Node.js) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes schema-less columns are supported | schema-free | yes | schema-free Although schema-free, documents of the same collection often follow the same structure. Optionally impose all or part of a schema by defining a JSON schema. | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes string, integer, double, bool, date, object_id | yes | yes string, integer, double, decimal, boolean, date, object_id, geospatial | 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 | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | no | yes | yes | yes via views | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL for querying | no | yes Query statements complying to ANSI 2011 | Read-only SQL queries via the MongoDB Atlas SQL Interface | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC RESTful HTTP/JSON API | in-process shared library | gRPC (using protocol buffers) API JDBC At present, JDBC supports read-only queries. No support for DDL or DML statements. RESTful HTTP API | GraphQL HTTP REST Prisma proprietary protocol using JSON | HTTP REST only for PouchDB Server JavaScript API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure JavaScript PHP Python R Ruby Scala | Actionscript C C# C++ Go Java JavaScript (Node.js) Lua Objective-C Pike Python Ruby | Go Java JavaScript (Node.js) Python | Actionscript unofficial driver C C# C++ Clojure unofficial driver ColdFusion unofficial driver D unofficial driver Dart unofficial driver Delphi unofficial driver Erlang Go Groovy unofficial driver Haskell Java JavaScript Kotlin Lisp unofficial driver Lua unofficial driver MatLab unofficial driver Perl PHP PowerShell unofficial driver Prolog unofficial driver Python R unofficial driver Ruby Rust Scala Smalltalk unofficial driver Swift | JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | no | JavaScript | View functions in JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | no | yes in MongoDB Atlas only | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding manual/auto, time-based | none | Sharding | Sharding Partitioned by hashed, ranged, or zoned sharding keys. Live resharding allows users to change their shard keys as an online operation with zero downtime. | Sharding with a proxy-based framework, named couchdb-lounge | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes, via HDFS, S3 or other storage engines | none | Multi-source replication with 3 replicas for regional instances. | Multi-Source deployments with MongoDB Atlas Global Clusters Source-replica replication | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | yes using Google Cloud Dataflow | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Eventual Consistency can be individually decided for each read operation Immediate Consistency default behaviour | Eventual Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no typically not needed, however similar functionality with collection joins possible | yes by using interleaved tables, this features focuses more on performance improvements than on referential integrity | no typically not used, however similar functionality with DBRef possible | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | no | ACID Strict serializable isolation | Multi-document ACID Transactions with snapshot isolation | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes Read/Write Locking | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes optional, enabled by default | yes by using IndexedDB, WebSQL or LevelDB as backend | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | yes In-memory storage engine introduced with MongoDB version 3.2 | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | RBAC using LDAP or Druid internals for users and groups for read/write by datasource and system | no | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | Access rights for users and roles | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Druid | EJDB | Google Cloud Spanner | MongoDB | PouchDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | MongoDB provides an integrated suite of cloud database and data services to accelerate... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Built around the flexible document data model and unified API, MongoDB is a developer... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | AI-enriched intelligent apps (Continental, Telefonica, Iron Mountain) Internet of... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Key customers | ADP, Adobe, Amadeus, AstraZeneca, Auto Trader, Barclays, BBVA, Bosch, Cisco, CERN,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | Hundreds of millions downloads, over 150,000+ Atlas clusters provisioned every month... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | MongoDB database server: Server-Side Public License (SSPL) . Commercial licenses... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | Navicat for MongoDB gives you a highly effective GUI interface for MongoDB database management, administration and development. » more CData: Connect to Big Data & NoSQL through standard Drivers. » more Studio 3T: The world's favorite IDE for working with MongoDB » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Druid | EJDB | Google Cloud Spanner | MongoDB | PouchDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Snowflake is the DBMS of the Year 2021 PostgreSQL is the DBMS of the Year 2020 PostgreSQL is the DBMS of the Year 2018 | 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 big-data stack, 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 Principal Securities Inc. Takes Position in MongoDB, Inc. (NASDAQ:MDB) Build RAG applications with MongoDB Atlas, now available in Knowledge Bases for Amazon Bedrock | Amazon Web ... A Closer Look at 27 Analyst Recommendations For MongoDB MongoDB CEO Dev Ittycheria talks AI hype and the database evolution as he crosses 10-year mark MongoDB CEO Ittycheria: AI Has Reached 'A Crucible Moment' In Its Development. provided by Google News Building an Offline First App with PouchDB — SitePoint Getting Started with PouchDB Client-Side JavaScript Database — SitePoint 3 Reasons To Think Offline First Create Offline Web Apps Using Service Workers & PouchDB — SitePoint Offline-first web and mobile apps: Top frameworks and components provided by Google News |
Share this page