DBMS > Amazon DynamoDB vs. FoundationDB vs. Google Cloud Bigtable vs. HarperDB vs. RocksDB
System Properties Comparison Amazon DynamoDB vs. FoundationDB vs. Google Cloud Bigtable vs. HarperDB vs. RocksDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon DynamoDB Xexclude from comparison | FoundationDB Xexclude from comparison | Google Cloud Bigtable Xexclude from comparison | HarperDB Xexclude from comparison | RocksDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Created as commercial project in 2013, FoundationDB has been acquired by Apple in March 2015 and was withdrawn from the market. As a consequence, the product was removed from the DB-Engines ranking. In April 2018, Apple open-sourced FoundationDB and it therefore reappears in the ranking. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Hosted, scalable database service by Amazon with the data stored in Amazons cloud | Ordered key-value store. Core features are complimented by layers. | Google's NoSQL Big Data database service. It's the same database that powers many core Google services, including Search, Analytics, Maps, and Gmail. | HarperDB takes the "stack" out of "tech stack" by combining an ultra-fast document-style data store, in-memory cache, real-time message broker, and your application components into a single distributed technology. | Embeddable persistent key-value store optimized for fast storage (flash and RAM) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Key-value store | Document store supported via specific layer Key-value store Relational DBMS supported via specific SQL-layer | Key-value store Wide column store | Document store | Key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/dynamodb | github.com/apple/foundationdb | cloud.google.com/bigtable | www.harperdb.io | rocksdb.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.aws.amazon.com/dynamodb | apple.github.io/foundationdb | cloud.google.com/bigtable/docs | docs.harperdb.io/docs | github.com/facebook/rocksdb/wiki | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Amazon | FoundationDB | HarperDB | Facebook, Inc. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2013 | 2015 | 2017 | 2013 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 6.2.28, November 2020 | 3.1, August 2021 | 9.4.0, June 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial free tier for a limited amount of database operations | Open Source Apache 2.0 | commercial | commercial free community edition available | Open Source BSD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C++ | Node.js | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | Linux OS X Windows | hosted | Linux OS X | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free some layers support schemas | schema-free | dynamic schema | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no some layers support typing | no | yes JSON data 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 | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | supported in specific SQL layer only | no | SQL-like data manipulation statements | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | gRPC (using protocol buffers) API HappyBase (Python library) HBase compatible API (Java) | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | C++ API Java API | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net ColdFusion Erlang Groovy Java JavaScript Perl PHP Python Ruby | .Net C C++ Go Java JavaScript Node.js PHP Python Ruby Swift | C# C++ Go Java JavaScript (Node.js) Python | .Net C C# C++ ColdFusion D Dart Delphi Erlang Go Haskell Java JavaScript (Node.js) Lisp MatLab Objective C Perl PHP PowerShell Prolog Python R Ruby Rust Scala Swift | C C++ Go Java Perl Python Ruby | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | in SQL-layer only | no | Custom Functions since release 3.1 | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes by integration with AWS Lambda | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding | Sharding | A table resides as a whole on one (or more) nodes in a cluster | horizontal partitioning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes | yes | Internal replication in Colossus, and regional replication between two clusters in different zones | yes the nodes on which a table resides can be defined | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | no | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency can be specified for read operations | Linearizable consistency | Immediate consistency (for a single cluster), Eventual consistency (for two or more replicated clusters) | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | in SQL-layer only | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID ACID across one or more tables within a single AWS account and region | ACID | Atomic single-row operations | Atomic execution of specific operations | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes, using LMDB | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles can be defined via the AWS Identity and Access Management (IAM) | no | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | Access rights for users and roles | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon DynamoDB | FoundationDB | Google Cloud Bigtable | HarperDB | RocksDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Cloud-based DBMS's popularity grows at high rates The popularity of cloud-based DBMSs has increased tenfold in four years Increased popularity for consuming DBMS services out of the cloud | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | How Samsung Cloud optimized Amazon DynamoDB costs Migrating Uber's Ledger Data from DynamoDB to LedgerStore Join the preview of attribute-based access control for Amazon DynamoDB | Amazon Web Services Faster development with Amazon DynamoDB and Amazon Q Developer How Delivery Hero perfects restaurant operations using gamification with Amazon DynamoDB provided by Google News | FoundationDB team’s new venture, Antithesis, raises $47M to enhance software testing Antithesis Launches Out Of Stealth To Revolutionize Software Reliability Antithesis raises $47M to launch an automated testing platform for software Apple's FoundationDB takes new Record Layer open source, confirms tech underpins CloudKit Apple Acquires FoundationDB provided by Google News | Google Cloud adds graph processing to Spanner, SQL support to Bigtable Google introduces Bigtable SQL access and Spanner's new AI-ready features Google's AI-First Strategy Brings Vector Support To Cloud Databases Google Cloud Adds GenAI, Core Enhancements Across Data Platform Google Introduces Autoscaling for Cloud Bigtable for Optimizing Costs provided by Google News | HarperDB Attracts Significant Growth Investment from Serent Capital Defense Innovation Unit Issues Success Memo to HarperDB for its Common Operation Database Prototype DoD Successfully Deploys Commercial AI Solutions for COD Project Serent Capital invests in software firm HarperDB HarperDB Receives Growth Investment from Serent Capital provided by Google News | Pliops Unveils Accelerated Key-Value Store That Boosts RocksDB Performance by 20x at OCP Global Summit AMD EPYC vs. Intel Xeon Cascadelake With Facebook's RocksDB Database Meta’s Velox Means Database Performance Is Not Subject To Interpretation The Journey to a Million Ops / Sec / Node in Venice Facebook’s MyRocks Truly Rocks! provided by Google News |
Share this page