DBMS > Datomic vs. GridDB vs. KeyDB vs. MarkLogic
System Properties Comparison Datomic vs. GridDB vs. KeyDB vs. MarkLogic
Please select another system to include it in the comparison.
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Datomic Xexclude from comparison | GridDB Xexclude from comparison | KeyDB Xexclude from comparison | MarkLogic Xexclude from comparison | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | Scalable in-memory time series database optimized for IoT and Big Data | An ultra-fast, open source Key-value store fully compatible with Redis API, modules, and protocols | Operational and transactional Enterprise NoSQL database | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Time Series DBMS | Key-value store | Document store Native XML DBMS RDF store as of version 7 Search engine | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Key-value store Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.datomic.com | griddb.net | github.com/Snapchat/KeyDB keydb.dev | www.progress.com/marklogic | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.datomic.com | docs.griddb.net | docs.keydb.dev | www.progress.com/marklogic/documentation | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Cognitect | Toshiba Corporation | EQ Alpha Technology Ltd. | MarkLogic Corp. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2012 | 2013 | 2019 | 2001 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.0.7180, July 2024 | 5.1, August 2022 | 11.0, December 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial limited edition free | Open Source AGPL version 3 and Apache License, version 2.0 , commercial license (standard and advanced editions) also available | Open Source BSD-3 | commercial restricted free version is available | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | 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, Clojure | C++ | C++ | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | All OS with a Java VM | Linux | Linux | Linux OS X Windows | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | schema-free | schema-free Schema can be enforced | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes numerical, string, blob, geometry, boolean, timestamp | partial Supported data types are strings, hashes, lists, sets and sorted sets, bit arrays, hyperloglogs and geospatial indexes | 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 | yes by using the Redis Search module | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | SQL92, SQL-like TQL (Toshiba Query Language) | no | yes SQL92 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | JDBC ODBC Proprietary protocol RESTful HTTP/JSON API | Proprietary protocol RESP - REdis Serialization Protoco | Java API Node.js Client API ODBC proprietary Optic API Proprietary Query API, introduced with version 9 RESTful HTTP API SPARQL WebDAV XDBC XQuery XSLT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Clojure Java | C C++ Go Java JavaScript (Node.js) Perl PHP Python Ruby | C C# C++ Clojure Crystal D Dart Elixir Erlang Fancy Go Haskell Haxe Java JavaScript (Node.js) Lisp Lua MatLab Objective-C OCaml Pascal Perl PHP Prolog Pure Data Python R Rebol Ruby Rust Scala Scheme Smalltalk Swift Tcl Visual Basic | C C# C++ Java JavaScript (Node.js) Perl PHP Python Ruby | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes Transaction Functions | no | Lua | yes via XQuery or JavaScript | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | By using transaction functions | yes | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none But extensive use of caching in the application peers | Sharding | Sharding | Sharding | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none But extensive use of caching in the application peers | Source-replica replication | Multi-source replication Source-replica replication | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | Connector for using GridDB as an input source and output destination for Hadoop MapReduce jobs | no | yes via Hadoop Connector, HDFS Direct Access and in-database MapReduce jobs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate consistency within container, eventual consistency across containers | Eventual Consistency Strong eventual consistency with CRDTs | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID at container level | Optimistic locking, atomic execution of commands blocks and scripts | ACID can act as a resource manager in an XA/JTA transaction | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes using external storage systems (e.g. Cassandra, DynamoDB, PostgreSQL, Couchbase and others) | yes | yes Configurable mechanisms for persistency via snapshots and/or operations logs | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes recommended only for testing and development | yes | yes | yes, with Range Indexes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | no | Access rights for users can be defined per database | simple password-based access control and ACL | Role-based access control at the document and subdocument levels | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Datomic | GridDB | KeyDB | MarkLogic | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Conferences, events and webinars | Progress MarkLogic World | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Nubank released the licenses of its Datomic database Lucas Cavalcanti on Using Clojure, Microservices, Hexagonal Architecture and Public Cloud at Nubank Nubank acquires US company; PayPal studies cryptocurrencies Zoona Case Study Brazilian challenger Nubank acquires firm behind Clojure and Datomic provided by Google News | Now Features Scale-Out and Scale-Up combo for Petabyte-scale Data Management ’s SQL Interface, Aims to Accelerate Open Innovation TOSHIBA DIGITAL SOLUTIONS CORPORATION IoT: Opt for the Right Open Source Database Toshiba Digital Solutions collaborates with DATAFLUCT to Deliver a Machine Learning Solution that Optimizes Store Visitors Prediction ~ The integration of Cloud Data Infrastructure and Auto Machine Learning enables accurate prediction without experts inter provided by Google News | Snap snaps up database developer KeyDB to make its infrastructure more snappy Introducing Garnet – an open-source, next-generation, faster cache-store for accelerating applications and services Microsoft open-sources unique “Garnet” cache-store; a Redis rival? Dragonfly 0.13 Database Adds Experimental SSD-Based Data Tiering, More SIMD Work How to Use an API Key or Access Token to Connect to IBM Db2 on Cloud provided by Google News | Progress Brings Industry Leaders Together to Share Insights on AI and Data at MarkLogic World Tour US 2024 Progress Software announces speaker lineup for MarkLogic World Tour US Progress Brings Industry Leaders Together to Share Insights on AI and Data at MarkLogic World Tour US 2024 Vantage Closes Wholesale Deal in Santa Clara Progress unveils enhanced AI capabilities in latest MarkLogic Server release provided by Google News |
Share this page