DBMS > Amazon DocumentDB vs. Amazon DynamoDB vs. Apache IoTDB vs. Firebase Realtime Database vs. Riak TS
System Properties Comparison Amazon DocumentDB vs. Amazon DynamoDB vs. Apache IoTDB vs. Firebase Realtime Database vs. Riak TS
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon DocumentDB Xexclude from comparison | Amazon DynamoDB Xexclude from comparison | Apache IoTDB Xexclude from comparison | Firebase Realtime Database Xexclude from comparison | Riak TS Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Fast, scalable, highly available, and fully managed MongoDB-compatible database service | Hosted, scalable database service by Amazon with the data stored in Amazons cloud | An IoT native database with high performance for data management and analysis, deployable on the edge and the cloud and integrated with Hadoop, Spark and Flink | Cloud-hosted realtime document store. iOS, Android, and JavaScript clients share one Realtime Database instance and automatically receive updates with the newest data. | Riak TS is a distributed NoSQL database optimized for time series data and based on Riak KV | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Document store Key-value store | Time Series DBMS | Document store | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/documentdb | aws.amazon.com/dynamodb | iotdb.apache.org | firebase.google.com/products/realtime-database | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | aws.amazon.com/documentdb/resources | docs.aws.amazon.com/dynamodb | iotdb.apache.org/UserGuide/Master/QuickStart/QuickStart.html | firebase.google.com/docs/database | www.tiot.jp/riak-docs/riak/ts/latest | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Amazon | Apache Software Foundation | Google acquired by Google 2014 | Open Source, formerly Basho Technologies | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2019 | 2012 | 2018 | 2012 | 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.1.0, April 2023 | 3.0.0, September 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | commercial free tier for a limited amount of database operations | Open Source Apache Version 2.0 | commercial | Open Source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | yes | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Erlang | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | hosted | All OS with a Java VM (>= 1.8) | hosted | Linux OS X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free | yes | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | yes | 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 | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes | yes | restricted | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | no | SQL-like query language | no | yes, limited | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | proprietary protocol using JSON (MongoDB compatible) | RESTful HTTP API | JDBC Native API | Android iOS JavaScript API RESTful HTTP API | HTTP API Native Erlang Interface | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Go Java JavaScript (Node.js) PHP Python | .Net ColdFusion Erlang Groovy Java JavaScript Perl PHP Python Ruby | C C# C++ Go Java Python Scala | Java JavaScript Objective-C | C unofficial client library C# C++ unofficial client library Clojure unofficial client library Dart unofficial client library Erlang Go unofficial client library Groovy unofficial client library Haskell unofficial client library Java JavaScript unofficial client library Lisp unofficial client library Perl unofficial client library PHP Python Ruby Scala unofficial client library Smalltalk unofficial client library | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | yes | limited functionality with using 'rules' | Erlang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes by integration with AWS Lambda | yes | Callbacks are triggered when data changes | yes pre-commit hooks and post-commit hooks | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none | Sharding | horizontal partitioning (by time range) + vertical partitioning (by deviceId) | Sharding | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-availability zones for high availability, asynchronous replication for up to 15 read replicas | yes | selectable replication methods; using Raft/IoTConsensus algorithm to ensure strong/eventual data consistency among multiple replicas | selectable replication factor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | Integration with Hadoop and Spark | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency Immediate Consistency can be specified for read operations | Eventual Consistency Strong Consistency with Raft | Eventual Consistency if the client is offline Immediate Consistency if the client is online | Eventual Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no typically not used, however similar functionality with DBRef possible | no | no | no | no links between datasets can be stored | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | Atomic single-document operations | ACID ACID across one or more tables within a single AWS account and region | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles | Access rights for users and roles can be defined via the AWS Identity and Access Management (IAM) | yes | yes, based on authentication and database rules | 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 DocumentDB | Amazon DynamoDB | Apache IoTDB | Firebase Realtime Database | Riak TS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Cloud-based DBMS's popularity grows at high rates | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | A hybrid approach for homogeneous migration to an Amazon DocumentDB elastic cluster | Amazon Web Services AWS announces Amazon DocumentDB zero-ETL integration with Amazon OpenSearch Service Use LangChain and vector search on Amazon DocumentDB to build a generative AI chatbot | Amazon Web Services Vector search for Amazon DocumentDB (with MongoDB compatibility) is now generally available | Amazon Web Services AWS announces vector search for Amazon DocumentDB provided by Google News | AWS announces Amazon DynamoDB zero-ETL integration with Amazon OpenSearch Service Simplify cross-account access control with Amazon DynamoDB using resource-based policies | Amazon Web Services Simplify private connectivity to Amazon DynamoDB with AWS PrivateLink | Amazon Web Services Introducing configurable maximum throughput for Amazon DynamoDB on-demand | Amazon Web Services Continuously replicate Amazon DynamoDB changes to Amazon Aurora PostgreSQL using AWS Lambda | Amazon ... provided by Google News | AMD EPYC 4364P & 4564P @ DDR5-4800 / DDR5-5200 vs. Intel Xeon E-2488 Review TsFile: A Standard Format for IoT Time Series Data Linux 6.5 With AMD P-State EPP Default Brings Performance & Power Efficiency Benefits For Ryzen Servers Apache Promotes IoT Database Project AMD EPYC 8324P / 8324PN Siena 32-Core Siena Linux Server Performance Review provided by Google News | Realtime vs Cloud Firestore: Which Firebase Database to go? Google launches Firebase Genkit, a new open source framework for building AI-powered apps Atos cybersecurity blog: Misconfigured Firebase: A real-time cyber threat Don't be like these 900+ websites and expose millions of passwords via Firebase Google Firebase may have exposed 125M records from misconfigurations provided by Google News | New Basho Data Platform Provides Operational Simplicity for Enterprise Big Data Applications provided by Google News |
Share this page