DBMS > Apache Doris vs. CockroachDB vs. EJDB vs. Google Cloud Firestore vs. TempoIQ
System Properties Comparison Apache Doris vs. CockroachDB vs. EJDB vs. Google Cloud Firestore vs. TempoIQ
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Doris Xexclude from comparison | CockroachDB Xexclude from comparison | EJDB Xexclude from comparison | Google Cloud Firestore Xexclude from comparison | TempoIQ formerly TempoDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TempoIQ seems to be decommissioned. It will be removed from the DB-Engines ranking. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An MPP-based analytics DBMS embracing the MySQL protocol | CockroachDB is a distributed database architected for modern cloud applications. It is wire compatible with PostgreSQL and backed by a Key-Value Store, which is either RocksDB or a purpose-built derivative, called Pebble. | Embeddable document-store database library with JSON representation of queries (in MongoDB style) | Cloud Firestore is an auto-scaling document database for storing, syncing, and querying data for mobile and web apps. It offers seamless integration with other Firebase and Google Cloud Platform products. | Scalable analytics DBMS for sensor data, provided as a service (SaaS) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS | Document store | Document store | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | doris.apache.org github.com/apache/doris | www.cockroachlabs.com | github.com/Softmotions/ejdb | firebase.google.com/products/firestore | tempoiq.com (offline) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | github.com/apache/doris/wiki | www.cockroachlabs.com/docs | github.com/Softmotions/ejdb/blob/master/README.md | firebase.google.com/docs/firestore | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation, originally contributed from Baidu | Cockroach Labs | Softmotions | TempoIQ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2017 | 2015 | 2012 | 2017 | 2012 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.2.2, February 2023 | 24.1.0, May 2024 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | Open Source Apache 2.0, commercial license available | Open Source GPLv2 | commercial | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Go | C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | Linux macOS Windows | server-less | hosted | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | dynamic schema | schema-free | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes string, integer, double, bool, date, object_id | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | yes, wire compatible with PostgreSQL | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC MySQL client | JDBC | in-process shared library | Android gRPC (using protocol buffers) API iOS JavaScript API RESTful HTTP API | HTTP API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java | C# C++ Clojure Go Java JavaScript (Node.js) PHP Python Ruby Rust | Actionscript C C# C++ Go Java JavaScript (Node.js) Lua Objective-C Pike Python Ruby | Go Java JavaScript JavaScript (Node.js) Objective-C Python | C# Java JavaScript Node.js Python Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions | no | no | yes, Firebase Rules & Cloud Functions | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | no | yes, with Cloud Functions | yes Realtime Alerts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning | horizontal partitioning (by key range) all tables are translated to an ordered KV store and then broken down into 64MB ranges, which are then used as replicas in RAFT | none | Sharding | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | Multi-source replication using RAFT | none | Multi-source replication | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | Using Cloud Dataflow | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no typically not needed, however similar functionality with collection joins possible | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | no | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes Read/Write Locking | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | Role-based access control | no | Access rights for users, groups and roles based on Google Cloud Identity and Access Management. Security Rules for 3rd party authentication using Firebase Auth. | simple authentication-based access control | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Doris | CockroachDB | EJDB | Google Cloud Firestore | TempoIQ formerly TempoDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloud-based DBMS's popularity grows at high rates | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Apache Doris for Log and Time Series Data Analysis in NetEase: Why Not Elasticsearch and InfluxDB? Workload Isolation in Apache Doris: Optimizing Resource Management and Performance How to Digest 15 Billion Logs Per Day and Keep Big Queries Within 1 Second Streamlining Data Operations: How a Grocery Chain Optimizes Workloads with Apache Doris Apache Doris just 'graduated': Why care about this SQL data warehouse provided by Google News | Cockroach Labs Deepens Partnership with Google Cloud, CockroachDB Selected to Join Google Distributed Cloud CockroachDB tempts legacy databases to crawl into the cloud age How DoorDash Migrated from Aurora Postgres to CockroachDB DoorDash Uses CockroachDB to Create Config Management Platform for Microservices How to Unlock Real-Time Data Streams with CockroachDB and Amazon MSK | Amazon Web Services provided by Google News | Google's AI-First Strategy Brings Vector Support To Cloud Databases Realtime vs Cloud Firestore: Which Firebase Database to go? Google launches Firebase Genkit, a new open source framework for building AI-powered apps Google's Cloud Firestore is now generally available Google launches Cloud Firestore, a new document database for app developers provided by Google News | Got big data? TempoIQ aims to point you to the insights in it - in the Chicago Tribune No-Code Internet of Things Development Platform provided by Google News |
Share this page