DBMS > Firebase Realtime Database vs. Google Cloud Datastore vs. JanusGraph vs. TimesTen vs. Titan
System Properties Comparison Firebase Realtime Database vs. Google Cloud Datastore vs. JanusGraph vs. TimesTen vs. Titan
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Firebase Realtime Database Xexclude from comparison | Google Cloud Datastore Xexclude from comparison | JanusGraph successor of Titan Xexclude from comparison | TimesTen Xexclude from comparison | Titan Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Titan has been decommisioned after the takeover by Datastax. It will be removed from the DB-Engines ranking. A fork has been open-sourced as JanusGraph. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Cloud-hosted realtime document store. iOS, Android, and JavaScript clients share one Realtime Database instance and automatically receive updates with the newest data. | Automatically scaling NoSQL Database as a Service (DBaaS) on the Google Cloud Platform | A Graph DBMS optimized for distributed clusters It was forked from the latest code base of Titan in January 2017 | In-Memory RDBMS compatible to Oracle | Titan is a Graph DBMS optimized for distributed clusters. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Document store | Graph DBMS | Relational DBMS | Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | firebase.google.com/products/realtime-database | cloud.google.com/datastore | janusgraph.org | www.oracle.com/database/technologies/related/timesten.html | github.com/thinkaurelius/titan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | firebase.google.com/docs/database | cloud.google.com/datastore/docs | docs.janusgraph.org | docs.oracle.com/database/timesten-18.1 | github.com/thinkaurelius/titan/wiki | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Google acquired by Google 2014 | Linux Foundation; originally developed as Titan by Aurelius | Oracle, TimesTen Performance Software, HP originally founded in HP Labs it was acquired by Oracle in 2005 | Aurelius, owned by DataStax | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2008 | 2017 | 1998 | 2012 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 0.6.3, February 2023 | 11 Release 2 (11.2.2.8.0) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | commercial | Open Source Apache 2.0 | commercial | Open Source Apache license, version 2.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | 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 | Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | hosted | Linux OS X Unix Windows | AIX HP-UX Linux OS X Solaris SPARC/x86 Windows | Linux OS X Unix Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes, details here | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language (GQL) | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Android iOS JavaScript API RESTful HTTP API | gRPC (using protocol buffers) API RESTful HTTP/JSON API | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | JDBC ODBC ODP.NET Oracle Call Interface (OCI) | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java JavaScript Objective-C | .Net Go Java JavaScript (Node.js) PHP Python Ruby | Clojure Java Python | C C++ Java PL/SQL | Clojure Java Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | limited functionality with using 'rules' | using Google App Engine | yes | PL/SQL | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | Callbacks are triggered when data changes | Callbacks using the Google Apps Engine | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | yes depending on the used storage backend (e.g. Cassandra, HBase, BerkeleyDB) | none | yes via pluggable storage backends | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication using Paxos | yes | Multi-source replication Source-replica replication | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes using Google Cloud Dataflow | yes via Faunus, a graph analytics engine | no | yes via Faunus, a graph analytics engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency if the client is offline Immediate Consistency if the client is online | Immediate Consistency or Eventual Consistency depending on type of query and configuration Strong Consistency is default for entity lookups and queries within an Entity Group (but can instead be made eventually consistent). Other queries are always eventual consistent. | Eventual Consistency Immediate Consistency | Immediate Consistency or Eventual Consistency depending on configuration | Eventual Consistency Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes via ReferenceProperties or Ancestor paths | yes Relationships in graphs | yes | yes Relationships in graph | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | yes | ACID Serializable Isolation within Transactions, Read Committed outside of Transactions | ACID | ACID | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes Supports various storage backends: Cassandra, HBase, Berkeley DB, Akiban, Hazelcast | yes by means of logfiles and checkpoints | yes Supports various storage backends: Cassandra, HBase, Berkeley DB, Akiban, Hazelcast | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | yes, based on authentication and database rules | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | User authentification and security via Rexster Graph Server | fine grained access rights according to SQL-standard | User authentification and security via Rexster Graph Server | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Firebase Realtime Database | Google Cloud Datastore | JanusGraph successor of Titan | TimesTen | Titan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloud-based DBMS's popularity grows at high rates | Graph DBMS increased their popularity by 500% within the last 2 years Graph DBMSs are gaining in popularity faster than any other database category Realtime vs Cloud Firestore: Which Firebase Database to go? Don't be like these 900+ websites and expose millions of passwords via Firebase Atos cybersecurity blog: Misconfigured Firebase: A real-time cyber threat Hundreds of sites misconfigured Firebase security rules, exposing a total of 125 million pieces of sensitive information Google Firebase may have exposed 125M records from misconfigurations provided by Google News Best cloud storage of 2024 Google Cloud Stops Exit Fees BigID Data Intelligence Platform Now Available on Google Cloud Marketplace What is Google App Engine? | Definition from TechTarget What Is Google Cloud Platform? provided by Google News Simple Deployment of a Graph Database: JanusGraph | by Edward Elson Kosasih Database Deep Dives: JanusGraph JanusGraph Picks Up Where TitanDB Left Off Nordstrom Builds Flexible Backend Ops with Kubernetes, Spark and JanusGraph Compose for JanusGraph arrives on Bluemix provided by Google News In-memory databases with Emulex Gen 7 provided by Google News Amazon DynamoDB Storage Backend for Titan: Distributed Graph Database | Amazon Web Services Beyond Titan: The Evolution of DataStax's New Graph Database Titan Graph Database Integration with DynamoDB: World-class Performance, Availability, and Scale for New Workloads DataStax acquires Aurelius, the startup behind the Titan graph database DSE Graph review: Graph database does double duty provided by Google News |
Share this page