DBMS > Adabas vs. Couchbase vs. CouchDB vs. KeyDB vs. Percona Server for MongoDB
System Properties Comparison Adabas vs. Couchbase vs. CouchDB vs. KeyDB vs. Percona Server for MongoDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Adabas denotes "adaptable data base" Xexclude from comparison | Couchbase Originally called Membase Xexclude from comparison | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | KeyDB Xexclude from comparison | Percona Server for MongoDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | OLTP - DBMS for mainframes and Linux/Unix/Windows environments used typically together with the Natural programming platform | A distributed document store with integrated cache, a powerful search engine, in-built operational and analytical capabilities, and an embedded mobile database | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | An ultra-fast, open source Key-value store fully compatible with Redis API, modules, and protocols | A drop-in replacement for MongoDB Community Edition with enterprise-grade features. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Multivalue DBMS | Document store | Document store | Key-value store | Document store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Key-value store originating from the former Membase product and supporting the Memcached protocol Spatial DBMS using the Geocouch extension Search engine Time Series DBMS Vector DBMS | Spatial DBMS using the Geocouch extension | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | www.softwareag.com/en_corporate/platform/adabas-natural.html | www.couchbase.com | couchdb.apache.org | github.com/Snapchat/KeyDB keydb.dev | www.percona.com/mongodb/software/percona-server-for-mongodb | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.couchbase.com | docs.couchdb.org/en/stable | docs.keydb.dev | docs.percona.com/percona-distribution-for-mongodb | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Software AG | Couchbase, Inc. | Apache Software Foundation Apache top-level project, originally developed by Damien Katz, a former Lotus Notes developer | EQ Alpha Technology Ltd. | Percona | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 1971 | 2011 | 2005 | 2019 | 2015 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | Server: 7.2, June 2023; Mobile: 3.1, March 2022; Couchbase Capella (DBaaS), June 2023 | 3.3.3, December 2023 | 3.4.10-2.10, November 2017 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | Open Source Business Source License (BSL 1.1); Commercial licenses also available | Open Source Apache version 2 | Open Source BSD-3 | Open Source GPL Version 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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, C++, Go and Erlang | Erlang | C++ | C++ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | BS2000 Linux Unix Windows z/OS z/VSE | Linux OS X Windows | Android BSD Linux OS X Solaris Windows | Linux | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | schema-free | schema-free | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | no | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes | yes | yes via views | yes by using the Redis Search module | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes with add-on product Adabas SQL Gateway | SQL++, extends ANSI SQL to JSON for operational, transactional, and analytic use cases | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | HTTP API with add-on software Adabas SOA Gateway SOAP-based API with add-on software Adabas SOA Gateway | CLI Client HTTP REST Kafka Connector Native language bindings for CRUD, Query, Search and Analytics APIs Spark Connector Spring Data | RESTful HTTP/JSON API | Proprietary protocol RESP - REdis Serialization Protoco | proprietary protocol using JSON | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Natural | .Net C Go Java JavaScript Node.js Kotlin PHP Python Ruby Scala | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | 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 | 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | in Natural | Functions and timers in JavaScript and UDFs in Java, Python, SQL++ | View functions in JavaScript | Lua | JavaScript | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes via the TAP protocol | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | yes, with additonal products like Adabas Cluster Services, Adabas Parallel Services, Adabas Vista | Automatic Sharding | Sharding improved architecture with release 2.0 | Sharding | Sharding | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes, with add-on product Event Replicator | Multi-source replication including cross data center replication Source-replica replication | Multi-source replication Source-replica replication | Multi-source replication Source-replica replication | Source-replica replication | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency Immediate Consistency selectable on a per-operation basis | Eventual Consistency | Eventual Consistency Strong eventual consistency with CRDTs | Eventual Consistency Immediate Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | no atomic operations within a single document possible | Optimistic locking, atomic execution of commands blocks and scripts | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes strategy: optimistic locking | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | 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. | no | yes Ephemeral buckets | no | yes | yes via In-Memory Engine | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | only with OS-specific tools (e.g. IBM RACF, CA Top Secret) | User and Administrator separation with password-based and LDAP integrated Authentication. Role-base access control. | Access rights for users can be defined per database | simple password-based access control and ACL | Access rights for users and 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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Adabas denotes "adaptable data base" | Couchbase Originally called Membase | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | KeyDB | Percona Server for MongoDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Re-evaluating legacy: Should you leave Adabas (and Natural) behind? Is it the end of the road for Software AG after selling its integration business to IBM? IBM buys 50-year-old Software AG's enterprise tech units for €2.13B in cash Software AG sells data platform to IBM for €2.1bn ATERAS® Announces Contract for Adabas Natural Re-hosting Solution to one of the Nation's Largest Pension Systems provided by Google News | Edward Anderson Spends US$298k Buying Couchbase Shares EVR Research LP Acquires 179,585 Shares of Couchbase, Inc. (NASDAQ:BASE) Couchbase’s stock crumbles on anticipation of significant growth slowdown Couchbase director Anderson buys $298k in company stock Couchbase reports 20% Q2 revenue growth, though analysts expected more provided by Google News | How to install the CouchDB NoSQL database on Debian Server 11 IBM Cloudant pulls plan to fund new foundational layer for CouchDB Database Ransom Attacks Hit CouchDB and Hadoop Servers Hadoop, CouchDB Next Targets in Wave of Database Attacks CouchDB 3.0 ends admin party era 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 Beyond the mainstream database offerings provided by Google News | Percona Delivers Open Source In-Memory Storage Engine for Percona Server for MongoDB Is database-as-a-service in Percona’s future? FerretDB goes GA: Gives you MongoDB, without the MongoDB... The essential guide to MongoDB security How to deploy the Percona database performance monitor with Docker provided by Google News |
Share this page