DBMS > AgensGraph vs. CouchDB vs. Datomic vs. KeyDB vs. Memgraph
System Properties Comparison AgensGraph vs. CouchDB vs. Datomic vs. KeyDB vs. Memgraph
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | AgensGraph Xexclude from comparison | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | Datomic Xexclude from comparison | KeyDB Xexclude from comparison | Memgraph Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Multi-model database supporting relational and graph data models and built upon PostgreSQL | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | Datomic builds on immutable values, supports point-in-time queries and uses 3rd party systems for durability | An ultra-fast, open source Key-value store fully compatible with Redis API, modules, and protocols | An open source graph database built for real-time streaming and compatible with Neo4j | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Graph DBMS Relational DBMS | Document store | Relational DBMS | Key-value store | Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS using the Geocouch extension | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | bitnine.net/agensgraph | couchdb.apache.org | www.datomic.com | github.com/Snapchat/KeyDB keydb.dev | memgraph.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | bitnine.net/documentation | docs.couchdb.org/en/stable | docs.datomic.com | docs.keydb.dev | memgraph.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Social network pages | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Bitnine Global Inc. | Apache Software Foundation Apache top-level project, originally developed by Damien Katz, a former Lotus Notes developer | Cognitect | EQ Alpha Technology Ltd. | Memgraph Ltd | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2016 | 2005 | 2012 | 2019 | 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 2.1, December 2018 | 3.3.3, December 2023 | 1.0.7075, December 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache License 2.0 | Open Source Apache version 2 | commercial limited edition free | Open Source BSD-3 | Open Source BSL 1.1; commercial license for enterprise edition available | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | C | Erlang | Java, Clojure | C++ | C and C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux OS X Windows | Android BSD Linux OS X Solaris Windows | All OS with a Java VM | Linux | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | depending on used data model | schema-free | yes | schema-free | schema-free and schema-optional | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no | yes | 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 | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes via views | yes | yes by using the Redis Search module | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | Cypher Query Language JDBC | RESTful HTTP/JSON API | RESTful HTTP API | Proprietary protocol RESP - REdis Serialization Protoco | Bolt protocol Cypher query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C Java JavaScript Python | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | Clojure Java | 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 | .Net C C++ Elixir Go Haskell Java JavaScript PHP Python Ruby Scala | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | View functions in JavaScript | yes Transaction Functions | Lua | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | By using transaction functions | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | no, but can be realized using table inheritance | Sharding improved architecture with release 2.0 | none But extensive use of caching in the application peers | Sharding | Sharding dynamic graph partitioning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Source-replica replication | Multi-source replication Source-replica replication | none But extensive use of caching in the application peers | Multi-source replication Source-replica replication | Multi-source replication using RAFT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency | Immediate Consistency | Eventual Consistency Strong eventual consistency with CRDTs | Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | yes | no | no | no | yes relationships in graphs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | no atomic operations within a single document possible | ACID | Optimistic locking, atomic execution of commands blocks and scripts | ACID with snapshot isolation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes strategy: optimistic locking | yes | yes | yes, multi-version concurrency control (MVCC) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes using external storage systems (e.g. Cassandra, DynamoDB, PostgreSQL, Couchbase and others) | yes Configurable mechanisms for persistency via snapshots and/or operations logs | yes with periodic snapshot and write-ahead logging (WAL) of changes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | yes recommended only for testing and development | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | Access rights for users can be defined per database | no | simple password-based access control and ACL | Users, roles and permissions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AgensGraph | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Datomic | KeyDB | Memgraph | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Specific characteristics | Memgraph directly connects to your streaming infrastructure so you and your team... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Competitive advantages | Business Source License ensures a future for the Memgraph community MAGE algorithm... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typical application scenarios | Graph algorithms in bioinformatics Social network analysis Cryptocurrency network... » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Licensing and pricing models | You can check out our pricing model and licenses on the company website . » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AgensGraph | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Datomic | KeyDB | Memgraph | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Graph DBMS Performance Comparison AgensGraph vs. Neo4j Bitnine revisualizes database industry through AgensGraph Bitnine Releases AgensGraph 2.1, the Multi-model Graph Database Optimized for the Legacy Environment AGE - The Open Source PostgreSQL Extension For Graph Database Functionality Bitnine: The Newly Revealed 'AI Teacher' Powered by Graph Database Delivers Hyper-Personalized Learning ... provided by Google News | DB Ransom Attacks Spread to CouchDB and Hadoop How to install the CouchDB NoSQL database on Debian Server 11 IBM Cloudant pulls plan to fund new foundational layer for CouchDB CouchDB 3.0 ends admin party era • DEVCLASS Tracking Expenses with CouchDB and Angular — SitePoint provided by Google News | Nubank buys firm behind Clojure programming language Architecting Software for Leverage TerminusDB Takes on Data Collaboration with a git-Like Approach Brazil’s Nubank acquires US software firm Cognitect, creator of Clojure and Datomic James Dixon Imagines A Data Lake That Matters provided by Google News | Oh, snap! Snap snaps up database developer KeyDB Garnet–open-source faster cache-store speeds up applications, services Snap Acquires KeyDB for Open-Source Services Microsoft open-sources Garnet cache-store -- a Redis rival? Dragonfly 1.0 Released For What Claims To Be The World's Fastest In-Memory Data Store provided by Google News | Enhance Your Network Analysis with the Power of a Graph DB Graph database company Memgraph raises $9.34M Graph Database Market to grow at a CAGR of 19.9% from 2022 to 2027|Increased demand for low-latency queries is a ... Croatian graph database startup Memgraph raises €8M with Microsoft as key investor, plans to boost R&D Making Your Own Memory Graph To Detect Memory Issues On iOS provided by Google News |
Share this page