DBMS > Amazon DynamoDB vs. Elasticsearch vs. Google Cloud Datastore vs. JanusGraph vs. MySQL
System Properties Comparison Amazon DynamoDB vs. Elasticsearch vs. Google Cloud Datastore vs. JanusGraph vs. MySQL
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon DynamoDB Xexclude from comparison | Elasticsearch Xexclude from comparison | Google Cloud Datastore Xexclude from comparison | JanusGraph successor of Titan Xexclude from comparison | MySQL Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Hosted, scalable database service by Amazon with the data stored in Amazons cloud | A distributed, RESTful modern search and analytics engine based on Apache Lucene Elasticsearch lets you perform and combine many types of searches such as structured, unstructured, geo, and metric | Automatically scaling NoSQL Database as a Service (DBaaS) on the Google Cloud Platform | A Graph DBMS optimized for distributed clusters It was forked from the latest code base of Titan in January 2017 | Widely used open source RDBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store Key-value store | Search engine | Document store | Graph DBMS | Relational DBMS Key/Value like access via memcached API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Document store Spatial DBMS Vector DBMS | Document store Spatial DBMS | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/dynamodb | www.elastic.co/elasticsearch | cloud.google.com/datastore | janusgraph.org | www.mysql.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.aws.amazon.com/dynamodb | www.elastic.co/guide/en/elasticsearch/reference/current/index.html | cloud.google.com/datastore/docs | docs.janusgraph.org | dev.mysql.com/doc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Amazon | Elastic | Linux Foundation; originally developed as Titan by Aurelius | Oracle since 2010, originally MySQL AB, then Sun | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2010 | 2008 | 2017 | 1995 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 8.6, January 2023 | 0.6.3, February 2023 | 8.4.0, April 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial free tier for a limited amount of database operations | Open Source Elastic License | commercial | Open Source Apache 2.0 | Open Source GPL version 2. Commercial licenses with extended functionallity are available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | Aiven for MySQL: Fully managed MySQL, deployable in the cloud of your choice, with seamless integrations and lightning-fast setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java | C and C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | All OS with a Java VM | hosted | Linux OS X Unix Windows | FreeBSD Linux OS X Solaris Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | schema-free Flexible type definitions. Once a type is defined, it is persistent | schema-free | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes, details here | 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 | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes All search fields are automatically indexed | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL-like query language | SQL-like query language (GQL) | no | yes with proprietary extensions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | Java API RESTful HTTP/JSON API | gRPC (using protocol buffers) API RESTful HTTP/JSON API | Java API TinkerPop Blueprints TinkerPop Frames TinkerPop Gremlin TinkerPop Rexster | ADO.NET JDBC ODBC Proprietary native API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net ColdFusion Erlang Groovy Java JavaScript Perl PHP Python Ruby | .Net Groovy Community Contributed Clients Java JavaScript Perl PHP Python Ruby | .Net Go Java JavaScript (Node.js) PHP Python Ruby | Clojure Java Python | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | yes | using Google App Engine | yes | yes proprietary syntax | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes by integration with AWS Lambda | yes by using the 'percolation' feature | Callbacks using the Google Apps Engine | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | Sharding | Sharding | yes depending on the used storage backend (e.g. Cassandra, HBase, BerkeleyDB) | horizontal partitioning, sharding with MySQL Cluster or MySQL Fabric | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes | yes | Multi-source replication using Paxos | yes | Multi-source replication Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no may be implemented via Amazon Elastic MapReduce (Amazon EMR) | ES-Hadoop Connector | yes using Google Cloud Dataflow | yes via Faunus, a graph analytics engine | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency can be specified for read operations | Eventual Consistency Synchronous doc based replication. Get by ID may show delays up to 1 sec. Configurable write consistency: one, quorum, all | Immediate Consistency or Eventual Consistency depending on type of query and configuration Strong Consistency is default for entity lookups and queries within an Entity Group (but can instead be made eventually consistent). Other queries are always eventual consistent. | Eventual Consistency Immediate Consistency | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes via ReferenceProperties or Ancestor paths | yes Relationships in graphs | yes not for MyISAM storage engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | no | ACID Serializable Isolation within Transactions, Read Committed outside of Transactions | ACID | ACID not for MyISAM storage engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes table locks or row locks depending on storage engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes Supports various storage backends: Cassandra, HBase, Berkeley DB, Akiban, Hazelcast | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | Memcached and Redis integration | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles can be defined via the AWS Identity and Access Management (IAM) | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | User authentification and security via Rexster Graph Server | Users with fine-grained authorization concept no user groups or roles | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Navicat for MySQL is the ideal solution for MySQL/MariaDB administration and development. » more CData: Connect to Big Data & NoSQL through standard Drivers. » more Navicat Monitor is a safe, simple and agentless remote server monitoring tool for MySQL and many other database management systems. » more Aiven for MySQL: Fully managed MySQL, deployable in the cloud of your choice, with seamless integrations and lightning-fast setup. » more | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon DynamoDB | Elasticsearch | Google Cloud Datastore | JanusGraph successor of Titan | MySQL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | PostgreSQL is the DBMS of the Year 2017 Elasticsearch moved into the top 10 most popular database management systems MySQL, PostgreSQL and Redis are the winners of the March ranking | MySQL is the DBMS of the Year 2019 MariaDB strengthens its position in the open source RDBMS market The struggle for the hegemony in Oracle's database empire Uber Migrates 1 Trillion Records from DynamoDB to LedgerStore to Save $6 Million Annually Simplify cross-account access control with Amazon DynamoDB using resource-based policies | Amazon Web Services Migrating Uber's Ledger Data from DynamoDB to LedgerStore Simplify private connectivity to Amazon DynamoDB with AWS PrivateLink | Amazon Web Services Zendesk Moves from DynamoDB to MySQL and S3 to Save over 80% in Costs provided by Google News Elasticsearch Open Inference API Now Supports Microsoft Azure AI Studio Splunk vs Elasticsearch | A Comparison and How to Choose Introducing Elasticsearch Vector Database to Azure OpenAI Service On Your Data (Preview) Netflix Uses Elasticsearch Percolate Queries to Implement Reverse Searches Efficiently ElasticSearch Goes Deep on OpenTelemetry with eBPF Donation provided by Google News Google Cloud Stops Exit Fees Best cloud storage of 2024 BigID Data Intelligence Platform Now Available on Google Cloud Marketplace Google says it'll stop charging fees to transfer data out of Google Cloud What is Google App Engine? | Definition from TechTarget provided by Google News JanusGraph Picks Up Where TitanDB Left Off Database Deep Dives: JanusGraph From graph db to graph embedding. In 7 simple steps. | by Andy Greatorex Compose for JanusGraph arrives on Bluemix Nordstrom Builds Flexible Backend Ops with Kubernetes, Spark and JanusGraph provided by Google News Audit MySQL Databases in Laravel With the DB Auditor Package Amazon Aurora MySQL version 2 (with MySQL 5.7 compatibility) to version 3 (with MySQL 8.0 compatibility) upgrade ... The Rise of MySQL: Database Management System (DBMS) Navigating a 6.8% Growth in the Open-Source DBMS , Tre... Enterprise Manager: How Comcast enhanced monitoring for MySQL InnoDB Clusters Ultimate MySQL Workbench Installation Guide [2024 Edition] provided by Google News |
Share this page