DBMS > Amazon DocumentDB vs. Lovefield vs. Microsoft Azure Cosmos DB vs. Microsoft Azure Table Storage vs. Titan
System Properties Comparison Amazon DocumentDB vs. Lovefield vs. Microsoft Azure Cosmos DB vs. Microsoft Azure Table Storage vs. Titan
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon DocumentDB Xexclude from comparison | Lovefield Xexclude from comparison | Microsoft Azure Cosmos DB former name was Azure DocumentDB Xexclude from comparison | Microsoft Azure Table Storage 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 | Fast, scalable, highly available, and fully managed MongoDB-compatible database service | Embeddable relational database for web apps written in pure JavaScript | Globally distributed, horizontally scalable, multi-model database service | A Wide Column Store for rapid development using massive semi-structured datasets | Titan is a Graph DBMS optimized for distributed clusters. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Relational DBMS | Document store Graph DBMS Key-value store Wide column store | Wide column store | Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/documentdb | google.github.io/lovefield | azure.microsoft.com/services/cosmos-db | azure.microsoft.com/en-us/services/storage/tables | github.com/thinkaurelius/titan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | aws.amazon.com/documentdb/resources | github.com/google/lovefield/blob/master/docs/spec_index.md | learn.microsoft.com/azure/cosmos-db | github.com/thinkaurelius/titan/wiki | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Microsoft | Microsoft | Aurelius, owned by DataStax | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2019 | 2014 | 2014 | 2012 | 2012 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 2.1.12, February 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | Open Source Apache 2.0 | commercial | commercial | Open Source Apache license, version 2.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | JavaScript | Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | server-less, requires a JavaScript environment (browser, Node.js) tested with Chrome, Firefox, IE, Safari | hosted | hosted | Linux OS X Unix Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | schema-free | schema-free | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes JSON types | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes All properties auto-indexed by default | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language via JavaScript builder pattern | SQL-like query language | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | proprietary protocol using JSON (MongoDB compatible) | DocumentDB API Graph API (Gremlin) MongoDB API RESTful HTTP API Table API | RESTful HTTP API | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go Java JavaScript (Node.js) PHP Python | JavaScript | .Net C# Java JavaScript JavaScript (Node.js) MongoDB client drivers written for various programming languages Python | .Net C# C++ Java JavaScript (Node.js) PHP Python Ruby | Clojure Java Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | JavaScript | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | Using read-only observers | JavaScript | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | none | Sharding Implicit feature of the cloud service | Sharding Implicit feature of the cloud service | yes via pluggable storage backends | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-availability zones for high availability, asynchronous replication for up to 15 read replicas | none | yes Implicit feature of the cloud service | yes implicit feature of the cloud service. Replication either local, cross-facility or geo-redundant. | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | no | with Hadoop integration Integration with Hadoop/HDInsight on Azure* | no | yes via Faunus, a graph analytics engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Bounded Staleness Consistent Prefix Eventual Consistency Immediate Consistency Consistency level configurable on request level Session Consistency | Immediate Consistency | Eventual Consistency Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no typically not used, however similar functionality with DBRef possible | yes | no | no | yes Relationships in graph | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | Atomic single-document operations | ACID | Multi-item ACID transactions with snapshot isolation within a partition | optimistic locking | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes, by using IndexedDB or the cloud service Firebase Realtime Database | yes | yes | 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. | yes using MemoryDB | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles | no | Access rights can be defined down to the item level | Access rights based on private key authentication or shared access signatures | 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 services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | CData: Connect to Big Data & NoSQL through standard Drivers. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon DocumentDB | Lovefield | Microsoft Azure Cosmos DB former name was Azure DocumentDB | Microsoft Azure Table Storage | Titan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Graph DBMS increased their popularity by 500% within the last 2 years Graph DBMSs are gaining in popularity faster than any other database category A hybrid approach for homogeneous migration to an Amazon DocumentDB elastic cluster | Amazon Web Services Vector search for Amazon DocumentDB (with MongoDB compatibility) is now generally available | Amazon Web Services Use LangChain and vector search on Amazon DocumentDB to build a generative AI chatbot | Amazon Web Services Use headless clusters in Amazon DocumentDB for cost-effective multi-Region resiliency | Amazon Web Services Reduce cost and improve performance by migrating to Amazon DocumentDB 5.0 | Amazon Web Services provided by Google News Start your AI journey with Microsoft Azure Cosmos DB—compete for $10K Public Preview: DiskANN vector indexing and search in Azure Cosmos DB NoSQL | Azure updates Public preview: Change partition key of a container in Azure Cosmos DB (NoSQL API) | Azure updates Building Planet-Scale .NET Apps with Azure Cosmos DB Public preview: Filtered vector search in vCore-based Azure Cosmos DB for MongoDB | Azure updates provided by Google News Working with Azure to Use and Manage Data Lakes How to Use C# Azure.Data.Tables SDK with Azure Cosmos DB How to use Azure Table storage in .Net Quick Guide to Azure Storage Pricing How to write data to Azure Table Store with an Azure Function provided by Google News DataStax Acquires Aurelius and its TitanDB Graph Database Amazon DynamoDB Storage Backend for Titan: Distributed Graph Database | Amazon Web Services Titan Graph Database Integration with DynamoDB: World-class Performance, Availability, and Scale for New Workloads JanusGraph Picks Up Where TitanDB Left Off DataStax acquires Aurelius, the startup behind the Titan graph database provided by Google News |
Share this page