DBMS > CouchDB vs. Cubrid vs. DolphinDB vs. Elasticsearch vs. SurrealDB
System Properties Comparison CouchDB vs. Cubrid vs. DolphinDB vs. Elasticsearch vs. SurrealDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | Cubrid Xexclude from comparison | DolphinDB Xexclude from comparison | Elasticsearch Xexclude from comparison | SurrealDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | CUBRID is an open-source SQL-based relational database management system with object extensions for OLTP | DolphinDB is a high performance Time Series DBMS. It is integrated with an easy-to-use fully featured programming language and a high-volume high-velocity streaming analytics system. It offers operational simplicity, scalability, fault tolerance, and concurrency. | 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 | A fully ACID transactional, developer-friendly, multi-model DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Relational DBMS | Time Series DBMS | Search engine | Document store Graph DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS using the Geocouch extension | Relational DBMS | Document store Spatial DBMS Vector DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | couchdb.apache.org | cubrid.com (korean) cubrid.org (english) | www.dolphindb.com | www.elastic.co/elasticsearch | surrealdb.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.couchdb.org/en/stable | cubrid.org/manuals | docs.dolphindb.cn/en/help200/index.html | www.elastic.co/guide/en/elasticsearch/reference/current/index.html | surrealdb.com/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation Apache top-level project, originally developed by Damien Katz, a former Lotus Notes developer | CUBRID Corporation, CUBRID Foundation | DolphinDB, Inc | Elastic | SurrealDB Ltd | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2005 | 2008 | 2018 | 2010 | 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.3.3, December 2023 | 11.0, January 2021 | v2.00.4, January 2022 | 8.6, January 2023 | v1.5.0, May 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache version 2 | Open Source Apache Version 2.0 | commercial free community version available | Open Source Elastic License | Open Source | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Erlang | C, C++, Java | C++ | Java | Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Android BSD Linux OS X Solaris Windows | Linux Windows | Linux Windows | All OS with a Java VM | Linux macOS Windows | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | yes | schema-free Flexible type definitions. Once a type is defined, it is persistent | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | yes | 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 | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes via views | yes | yes | yes All search fields are automatically indexed | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | yes | SQL-like query language | SQL-like query language | SQL-like query language | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP/JSON API | ADO.NET JDBC ODBC OLE DB | JDBC JSON over HTTP Kafka MQTT (Message Queue Telemetry Transport) ODBC OPC DA OPC UA RabbitMQ WebSocket | Java API RESTful HTTP/JSON API | GraphQL RESTful HTTP API WebSocket | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | C C# C++ Go Java JavaScript (Node.js) Perl PHP Python Ruby | C# C++ Go Java JavaScript MatLab Python R Rust | .Net Groovy Community Contributed Clients Java JavaScript Perl PHP Python Ruby | Deno Go JavaScript (Node.js) Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | View functions in JavaScript | Java Stored Procedures | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes | no | yes by using the 'percolation' feature | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | Sharding improved architecture with release 2.0 | none | horizontal partitioning | Sharding | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Multi-source replication Source-replica replication | Source-replica replication | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | yes | no | yes | ES-Hadoop Connector | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency | Immediate Consistency | Immediate Consistency | Eventual Consistency Synchronous doc based replication. Get by ID may show delays up to 1 sec. Configurable write consistency: one, quorum, all | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no atomic operations within a single document possible | ACID | yes | no | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes strategy: optimistic locking | 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 | no | yes | Memcached and Redis integration | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users can be defined per database | fine grained access rights according to SQL-standard | Administrators, Users, Groups | yes, based on authentication and database rules | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Cubrid | DolphinDB | Elasticsearch | SurrealDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | IBM Cloudant pulls plan to fund new foundational layer for CouchDB How to install the CouchDB NoSQL database on Debian Server 11 CouchDB 3.0 ends admin party era • DEVCLASS CouchDB 3.0 puts safety first Tracking Expenses with CouchDB and Angular — SitePoint provided by Google News | Netflix Uses Elasticsearch Percolate Queries to Implement Reverse Searches Efficiently Splunk vs Elasticsearch | A Comparison and How to Choose 8 Powerful Alternatives to Elasticsearch Introducing Elasticsearch Vector Database to Azure OpenAI Service On Your Data (Preview) ElasticSearch Goes Deep on OpenTelemetry with eBPF Donation provided by Google News | SD Times Open-Source Project of the Week: SurrealDB Meet Tobie Morgan Hitchcock, CEO & Co-Founder Of SurrealDB Cloud, privacy and AI: Trends defining the future of data and databases SurrealDB raises $6M for its database-as-a-service offering Introducing SurrealDB: A Quantum Leap in Database Technology provided by Google News |
Share this page