DBMS > Firebase Realtime Database vs. Graph Engine vs. PouchDB vs. YugabyteDB
System Properties Comparison Firebase Realtime Database vs. Graph Engine vs. PouchDB vs. YugabyteDB
Please select another system to include it in the comparison.
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Firebase Realtime Database Xexclude from comparison | Graph Engine former name: Trinity Xexclude from comparison | PouchDB Xexclude from comparison | YugabyteDB Xexclude from comparison | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Cloud-hosted realtime document store. iOS, Android, and JavaScript clients share one Realtime Database instance and automatically receive updates with the newest data. | A distributed in-memory data processing engine, underpinned by a strongly-typed RAM store and a general distributed computation engine | JavaScript DBMS with an API inspired by CouchDB | High-performance distributed SQL database for global, internet-scale applications. Wire and feature compatible with PostgreSQL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Graph DBMS Key-value store | Document store | Relational DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Wide column store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | firebase.google.com/products/realtime-database | www.graphengine.io | pouchdb.com | www.yugabyte.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | firebase.google.com/docs/database | www.graphengine.io/docs/manual | pouchdb.com/guides | docs.yugabyte.com github.com/yugabyte/yugabyte-db | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Google acquired by Google 2014 | Microsoft | Apache Software Foundation | Yugabyte Inc. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2010 | 2012 | 2017 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 7.1.1, June 2019 | 2.19, September 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | Open Source MIT License | Open Source | Open Source Apache 2.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | YugabyteDB Managed is the fully managed database-as-a-service offering of YugabyteDB. Get started quickly, and effortlessly ensure continuous availability and limitless scale of your cloud native applications. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | .NET and C | JavaScript | C and C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | .NET | server-less, requires a JavaScript environment (browser, Node.js) | Linux OS X | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | schema-free | depending on used data model | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | 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 | yes | yes via views | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | no | yes, PostgreSQL compatible | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Android iOS JavaScript API RESTful HTTP API | RESTful HTTP API | HTTP REST only for PouchDB Server JavaScript API | JDBC YCQL, an SQL-based flexible-schema API with its roots in Cassandra Query Language YSQL - a fully relational SQL API that is wire compatible with the SQL language in PostgreSQL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java JavaScript Objective-C | C# C++ F# Visual Basic | JavaScript | C C# C++ Go Java JavaScript (Node.js) PHP Python Ruby Rust Scala | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | limited functionality with using 'rules' | yes | View functions in JavaScript | yes sql, plpgsql, C | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | Callbacks are triggered when data changes | no | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning | Sharding with a proxy-based framework, named couchdb-lounge | Hash and Range Sharding, row-level geo-partitioning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication also with CouchDB databases Source-replica replication also with CouchDB databases | Based on Raft distributed consensus protocol, minimum 3 replicas for continuous availability | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency if the client is offline Immediate Consistency if the client is online | Eventual Consistency | Strong consistency on writes and tunable consistency on reads | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes | no | no | Distributed ACID with Serializable & Snapshot Isolation. Inspired by Google Spanner architecture. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | optional: either by committing a write-ahead log (WAL) to the local persistent storage or by dumping the memory to a persistent storage | yes by using IndexedDB, WebSQL or LevelDB as backend | yes based on RocksDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | yes, based on authentication and database rules | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Firebase Realtime Database | Graph Engine former name: Trinity | PouchDB | YugabyteDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | YugabyteDB is an open source distributed SQL database for cloud native transactional... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | PostgreSQL compatible: Get instantly productive with a PostgreSQL compatible RDBMS.... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Systems of record and engagement for cloud native applications that require resilience,... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Market metrics | 2 Million+ lifetime clusters deployed, 6.5K+ GitHub stars, 7K YugabyteDB Community... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | Apache 2.0 license for the database » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Firebase Realtime Database | Graph Engine former name: Trinity | PouchDB | YugabyteDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloud-based DBMS's popularity grows at high rates | New kids on the block: database management systems implemented in JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Realtime vs Cloud Firestore: Which Firebase Database to Choose Don't be like these 900+ websites and expose millions of passwords via Firebase Misconfigured Firebase instances leaked 19 million plaintext passwords 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 | Trinity Open source Microsoft Graph Engine takes on Neo4j IBM releases Graph, a service that can outperform SQL databases The graph analytics landscape 2019 Aerospike Is Now a Graph Database, Too provided by Google News | Getting Started with PouchDB Client-Side JavaScript Database Create Offline Web Apps Using Service Workers & PouchDB Building an Offline First App with PouchDB provided by Google News | YugabyteDB evolves into a distributed PostgreSQL database for apps that need resilience and scale YugabyteDB Evolves PostgreSQL to a Distributed Architecture for Modern, Cloud-Native Applications YugabyteDB 2.19 gets new PostgreSQL-compatibility features YugabyteDB Becomes First Distributed SQL Database Vendor to Complete CIS Benchmark Simplifying cloud-native app development with Yugabyte provided by Google News |
Share this page