DBMS > Google Cloud Spanner vs. LevelDB vs. Microsoft Azure Cosmos DB vs. Tkrzw
System Properties Comparison Google Cloud Spanner vs. LevelDB vs. Microsoft Azure Cosmos DB vs. Tkrzw
Please select another system to include it in the comparison.
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Google Cloud Spanner Xexclude from comparison | LevelDB Xexclude from comparison | Microsoft Azure Cosmos DB former name was Azure DocumentDB Xexclude from comparison | Tkrzw Successor of Tokyo Cabinet and Kyoto Cabinet Xexclude from comparison | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A horizontally scalable, globally consistent, relational database service. It is the externalization of the core Google database that runs the biggest aspects of Google, like Ads and Google Play. | Embeddable fast key-value storage library that provides an ordered mapping from string keys to string values | Globally distributed, horizontally scalable, multi-model database service | A concept of libraries, allowing an application program to store and query key-value pairs in a file. Successor of Tokyo Cabinet and Kyoto Cabinet | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Key-value store | Document store Graph DBMS Key-value store Wide column store | Key-value store | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cloud.google.com/spanner | github.com/google/leveldb | azure.microsoft.com/services/cosmos-db | dbmx.net/tkrzw | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cloud.google.com/spanner/docs | github.com/google/leveldb/blob/main/doc/index.md | learn.microsoft.com/azure/cosmos-db | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Microsoft | Mikio Hirabayashi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2017 | 2011 | 2014 | 2020 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.23, February 2021 | 0.9.3, August 2020 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | Open Source BSD | commercial | Open Source Apache Version 2.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C++ | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | Illumos Linux OS X Windows | hosted | Linux macOS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | schema-free | schema-free | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no | yes JSON types | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | yes All properties auto-indexed by default | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes Query statements complying to ANSI 2011 | no | SQL-like query language | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | gRPC (using protocol buffers) API JDBC At present, JDBC supports read-only queries. No support for DDL or DML statements. RESTful HTTP API | DocumentDB API Graph API (Gremlin) MongoDB API RESTful HTTP API Table API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go Java JavaScript (Node.js) Python | C++ Go Java 3rd party binding JavaScript (Node.js) 3rd party binding Python 3rd party binding | .Net C# Java JavaScript JavaScript (Node.js) MongoDB client drivers written for various programming languages Python | C++ Java Python Ruby | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | JavaScript | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | JavaScript | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | none | Sharding Implicit feature of the cloud service | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication with 3 replicas for regional instances. | none | yes Implicit feature of the cloud service | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes using Google Cloud Dataflow | no | with Hadoop integration Integration with Hadoop/HDInsight on Azure* | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Bounded Staleness Consistent Prefix Eventual Consistency Immediate Consistency Consistency level configurable on request level Session Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes by using interleaved tables, this features focuses more on performance improvements than on referential integrity | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID Strict serializable isolation | no | Multi-item ACID transactions with snapshot isolation within a partition | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes with automatic compression on writes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes using specific database classes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | no | Access rights can be defined down to the item level | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Google Cloud Spanner | LevelDB | Microsoft Azure Cosmos DB former name was Azure DocumentDB | Tkrzw Successor of Tokyo Cabinet and Kyoto Cabinet | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Google Improves Cloud Spanner: More Compute and Storage without Price Increase Google turns up the heat on AWS, claims Cloud Spanner is half the cost of DynamoDB Google makes its Cloud Spanner database service faster and more cost-efficient Google Cloud Spanner competes directly with Amazon DynamoDB More AI Added to Google Cloud's Databases provided by Google News | LevelDB in Ruby — SitePoint Microsoft Teams stores auth tokens as cleartext in Windows, Linux, Macs Pliops unveils XDP-Rocks for RocksDB – Blocks and Files XanMod, Liquorix Kernels Offer Some Advantages On AMD Ryzen 5 Notebook Rust-Based Info Stealers Abuse GitHub Codespaces provided by Google News | Public preview: Change partition key of a container in Azure Cosmos DB (NoSQL API) | Azure updates General availability: Microsoft Entra ID integration with Azure Cosmos DB for PostgreSQL | Azure updates Azure Synapse Link for Cosmos DB: New Analytics Capabilities Evaluating Performance: CosmosDB vs. Azure SQL How to Migrate Azure Cosmos DB Databases | by Arwin Lashawn provided by Google News |
Share this page