DBMS > Google Cloud Datastore vs. HugeGraph vs. Immudb vs. Percona Server for MongoDB vs. TerarkDB
System Properties Comparison Google Cloud Datastore vs. HugeGraph vs. Immudb vs. Percona Server for MongoDB vs. TerarkDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Google Cloud Datastore Xexclude from comparison | HugeGraph Xexclude from comparison | Immudb Xexclude from comparison | Percona Server for MongoDB Xexclude from comparison | TerarkDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Automatically scaling NoSQL Database as a Service (DBaaS) on the Google Cloud Platform | A fast-speed and highly-scalable Graph DBMS | An open source immutable (append-only) database with cryptographic verification which makes it tamper-resistant and fully auditable. | A drop-in replacement for MongoDB Community Edition with enterprise-grade features. | A key-value store forked from RocksDB with advanced compression algorithms. It can be used standalone or as a storage engine for MySQL and MongoDB | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Graph DBMS | Key-value store | Document store | Key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | cloud.google.com/datastore | github.com/hugegraph hugegraph.apache.org | github.com/codenotary/immudb immudb.io | www.percona.com/mongodb/software/percona-server-for-mongodb | github.com/bytedance/terarkdb | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | cloud.google.com/datastore/docs | hugegraph.apache.org/docs | docs.immudb.io | docs.percona.com/percona-distribution-for-mongodb | bytedance.larkoffice.com/docs/doccnZmYFqHBm06BbvYgjsHHcKc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Baidu | Codenotary | Percona | ByteDance, originally Terark | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2008 | 2018 | 2020 | 2015 | 2016 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 0.9 | 1.2.3, April 2022 | 3.4.10-2.10, November 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | Open Source Apache Version 2.0 | Open Source Apache Version 2.0 | Open Source GPL Version 2 | commercial restricted open source version available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Go | C++ | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | Linux macOS Unix | BSD Linux macOS Solaris Windows z/OS | Linux | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | schema-free | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes, details here | 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 | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes also supports composite index and range index | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | SQL-like query language (GQL) | no | SQL-like syntax | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | gRPC (using protocol buffers) API RESTful HTTP/JSON API | Java API RESTful HTTP API TinkerPop Gremlin | gRPC protocol PostgreSQL wire protocol | proprietary protocol using JSON | C++ API Java API | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net Go Java JavaScript (Node.js) PHP Python Ruby | Groovy Java Python | .Net Go Java JavaScript (Node.js) Python | Actionscript C C# C++ Clojure ColdFusion D Dart Delphi Erlang Go Groovy Haskell Java JavaScript Lisp Lua MatLab Perl PHP PowerShell Prolog Python R Ruby Scala Smalltalk | C++ Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | using Google App Engine | asynchronous Gremlin script jobs | no | JavaScript | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | Callbacks using the Google Apps Engine | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding | yes depending on used storage backend, e.g. Cassandra and HBase | Sharding | Sharding | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication using Paxos | yes depending on used storage backend, e.g. Cassandra and HBase | Source-replica replication | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes using Google Cloud Dataflow | via hugegraph-spark | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | 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 | Eventual Consistency Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes via ReferenceProperties or Ancestor paths | yes edges in graph | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID Serializable Isolation within Transactions, Read Committed outside of Transactions | ACID | ACID | no | 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. | no | yes | no | yes via In-Memory Engine | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | Users, roles and permissions | 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 servicesWe invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Google Cloud Datastore | HugeGraph | Immudb | Percona Server for MongoDB | TerarkDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Best cloud storage of 2024 Google Cloud Stops Exit Fees 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 | Critical Apache HugeGraph Flaw Let Attackers Execute Remote Code provided by Google News | Codenotary brings its immutable database to the cloud Immudb: Open-source database, built on a zero trust model ImmuDB and Codenotary: It's a database, but the company isn't immudb (immutable database) 'tamper-proof' database - Open Source Insider Open Source Immutable Database Adds Cluster Support Capable of Billions of Transactions and Potentially Unlimited ... provided by Google News | MongoDB Performance Tuning 5 Reasons to Run MongoDB on Kubernetes How to Plan Your MongoDB Upgrade FerretDB goes GA: Gives you MongoDB, without the MongoDB... DB or not DB: Open-sourcer Percona pushes out plethora of SQL and NoSQL tweaks in bid to win over suits provided by Google News |
Share this page