DBMS > Amazon DynamoDB vs. FoundationDB vs. Google Cloud Bigtable vs. InfinityDB vs. Titan
System Properties Comparison Amazon DynamoDB vs. FoundationDB vs. Google Cloud Bigtable vs. InfinityDB vs. Titan
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon DynamoDB Xexclude from comparison | FoundationDB Xexclude from comparison | Google Cloud Bigtable Xexclude from comparison | InfinityDB Xexclude from comparison | Titan 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. | 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 | 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. | A Java embedded Key-Value Store which extends the Java Map interface | Titan is a Graph DBMS optimized for distributed clusters. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Key-value store | Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/dynamodb | github.com/apple/foundationdb | cloud.google.com/bigtable | boilerbay.com | github.com/thinkaurelius/titan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.aws.amazon.com/dynamodb | apple.github.io/foundationdb | cloud.google.com/bigtable/docs | boilerbay.com/infinitydb/manual | github.com/thinkaurelius/titan/wiki | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Amazon | FoundationDB | Boiler Bay Inc. | Aurelius, owned by DataStax | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2013 | 2015 | 2002 | 2012 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 6.2.28, November 2020 | 4.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial free tier for a limited amount of database operations | 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 | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C++ | Java | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | Linux OS X Windows | hosted | All OS with a Java VM | Linux OS X Unix Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free some layers support schemas | schema-free | yes nested virtual Java Maps, multi-value, logical ‘tuple space’ runtime Schema upgrade | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no some layers support typing | no | yes all Java primitives, Date, CLOB, BLOB, huge sparse arrays | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | no | no | no manual creation possible, using inversions based on multi-value capability | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | supported in specific SQL layer only | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | gRPC (using protocol buffers) API HappyBase (Python library) HBase compatible API (Java) | Access via java.util.concurrent.ConcurrentNavigableMap Interface Proprietary API to InfinityDB ItemSpace (boilerbay.com/docs/ItemSpaceDataStructures.htm) | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Java | Clojure Java Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | in SQL-layer only | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes by integration with AWS Lambda | no | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding | Sharding | none | yes via pluggable storage backends | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | none | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | no | yes | no | yes via Faunus, a graph analytics engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 READ-COMMITTED or SERIALIZED | Eventual Consistency Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | in SQL-layer only | no | no manual creation possible, using inversions based on multi-value capability | yes Relationships in graph | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ACID Optimistic locking for transactions; no isolation for bulk loads | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | 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. | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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) | no | 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 DynamoDB | FoundationDB | Google Cloud Bigtable | InfinityDB | Titan | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Graph DBMS increased their popularity by 500% within the last 2 years Graph DBMSs are gaining in popularity faster than any other database category Join the preview of attribute-based access control for Amazon DynamoDB | Amazon Web Services Migrating Uber's Ledger Data from DynamoDB to LedgerStore How Samsung Cloud optimized Amazon DynamoDB costs Faster development with Amazon DynamoDB and Amazon Q Developer AWS Weekly Roundup: Amazon DynamoDB, AWS AppSync, Storage Browser for Amazon S3, and more (September 9, 2024) | Amazon Web Services 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 expands its database portfolio with new AI capabilities Google Cloud Adds GenAI, Core Enhancements Across Data Platform provided by Google News DataStax Acquires Aurelius and its TitanDB Graph Database Titan Graph Database Integration with DynamoDB: World-class Performance, Availability, and Scale for New Workloads Amazon DynamoDB Storage Backend for Titan: Distributed Graph Database DataStax acquires Aurelius, the startup behind the Titan graph database Database Deep Dives: JanusGraph provided by Google News |
Share this page