DBMS > etcd vs. Firebase Realtime Database vs. Google Cloud Firestore vs. LevelDB vs. Splice Machine
System Properties Comparison etcd vs. Firebase Realtime Database vs. Google Cloud Firestore vs. LevelDB vs. Splice Machine
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | etcd Xexclude from comparison | Firebase Realtime Database Xexclude from comparison | Google Cloud Firestore Xexclude from comparison | LevelDB Xexclude from comparison | Splice Machine Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A distributed reliable key-value store | Cloud-hosted realtime document store. iOS, Android, and JavaScript clients share one Realtime Database instance and automatically receive updates with the newest data. | 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. | Embeddable fast key-value storage library that provides an ordered mapping from string keys to string values | Open-Source SQL RDBMS for Operational and Analytical use cases with native Machine Learning, powered by Hadoop and Spark | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Document store | Document store | Key-value store | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | etcd.io github.com/etcd-io/etcd | firebase.google.com/products/realtime-database | firebase.google.com/products/firestore | github.com/google/leveldb | splicemachine.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | etcd.io/docs github.com/etcd-io/etcd/tree/master/Documentation | firebase.google.com/docs/database | firebase.google.com/docs/firestore | github.com/google/leveldb/blob/main/doc/index.md | splicemachine.com/how-it-works | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Google acquired by Google 2014 | Splice Machine | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2017 | 2011 | 2014 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.4, August 2019 | 1.23, February 2021 | 3.1, March 2021 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | commercial | commercial | Open Source BSD | Open Source AGPL 3.0, commercial license available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | yes | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Go | C++ | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | FreeBSD Linux Windows experimental | hosted | hosted | Illumos Linux OS X Windows | Linux OS X Solaris Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | schema-free | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | yes | no | 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 | no | yes | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | gRPC JSON over HTTP | Android iOS JavaScript API RESTful HTTP API | Android gRPC (using protocol buffers) API iOS JavaScript API RESTful HTTP API | JDBC Native Spark Datasource ODBC | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net C C++ Clojure Erlang Go Haskell Java JavaScript (Node.js) Perl PHP Python R Ruby Rust Scala Tcl | Java JavaScript Objective-C | Go Java JavaScript JavaScript (Node.js) Objective-C Python | C++ Go Java 3rd party binding JavaScript (Node.js) 3rd party binding Python 3rd party binding | C# C++ Java JavaScript (Node.js) Python R Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | limited functionality with using 'rules' | yes, Firebase Rules & Cloud Functions | no | yes Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes, watching key changes | Callbacks are triggered when data changes | yes, with Cloud Functions | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | none | Shared Nothhing Auto-Sharding, Columnar Partitioning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Using Raft consensus algorithm to ensure data replication with strong consistency among multiple replicas. | Multi-source replication | none | Multi-source replication Source-replica replication | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | Using Cloud Dataflow | no | Yes, via Full Spark Integration | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency if the client is offline Immediate Consistency if the client is online | Immediate Consistency | Immediate Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | yes | yes | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes, multi-version concurrency control (MVCC) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes with automatic compression on writes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | yes, based on authentication and database rules | Access rights for users, groups and roles based on Google Cloud Identity and Access Management. Security Rules for 3rd party authentication using Firebase Auth. | no | Access rights for users, groups and roles according to SQL-standard | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
etcd | Firebase Realtime Database | Google Cloud Firestore | LevelDB | Splice Machine | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloud-based DBMS's popularity grows at high rates | Cloud-based DBMS's popularity grows at high rates | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | ETCD guidelines: RBI seeks to balance rupee stability, competitiveness | Policy Circle Public preview: AKS cluster control plane metrics in managed Prometheus Is Your etcd an Open Door for Cyber Attacks? How to Secure Your Kubernetes Clusters & Nodes Monitor Amazon EKS Control Plane metrics using AWS Open Source monitoring services 6 Cool Kubernetes Operators and How to Use Them provided by Google News | Realtime vs Cloud Firestore: Which Firebase Database to Choose Misconfigured Firebase instances leaked 19 million plaintext passwords Don't be like these 900+ websites and expose millions of passwords via Firebase Misconfigured firebase: A real-time cyber threat Google launches Firebase Genkit, a new open source framework for building AI-powered apps provided by Google News | Realtime vs Cloud Firestore: Which Firebase Database to Choose Google's AI-First Strategy Brings Vector Support To Cloud Databases Google launches Firebase Genkit, a new open source framework for building AI-powered apps NoSQL on the Cloud With Python Spring Boot Tutorial: Building Microservices Deployed to Google Cloud provided by Google News | Inside the "Fallguys" malware that steals your browsing data and gaming IMs; continued attack on open source software Pliops unveils XDP-Rocks for RocksDB Threat Thursday: BlackGuard Infostealer Rises from Russian Underground Markets AMD EPYC vs. Intel Xeon Cascadelake With Facebook's RocksDB Database RocksDB - Facebook's Database Now Open Source provided by Google News | Machine learning data pipeline outfit Splice Machine files for insolvency Splice Machine Launches the Splice Machine Feature Store to Simplify Feature Engineering and Democratize Machine Learning 2021: The Year of the Feature Store Monte Zweben's Splice Machine Introduces New Hadoop RDBMS Splice Machine Launches ML Manager Beta Program to Meet the Growing Demand for Operational AI provided by Google News |
Share this page