DBMS > CouchDB vs. MySQL vs. Oracle Berkeley DB vs. Spark SQL vs. Tarantool
System Properties Comparison CouchDB vs. MySQL vs. Oracle Berkeley DB vs. Spark SQL vs. Tarantool
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | CouchDB ![]() | MySQL Xexclude from comparison | Oracle Berkeley DB Xexclude from comparison | Spark SQL Xexclude from comparison | Tarantool Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | Widely used open source RDBMS | Widely used in-process key-value store | Spark SQL is a component on top of 'Spark Core' for structured data processing | In-memory computing platform with a flexible data schema for efficiently building high-performance applications | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Document store | Relational DBMS ![]() | Key-value store ![]() Native XML DBMS ![]() | Relational DBMS | Document store Key-value store Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS ![]() | Document store Spatial DBMS | Spatial DBMS ![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | couchdb.apache.org | www.mysql.com | www.oracle.com/database/technologies/related/berkeleydb.html | spark.apache.org/sql | www.tarantool.io | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.couchdb.org/en/stable | dev.mysql.com/doc | docs.oracle.com/cd/E17076_05/html/index.html | spark.apache.org/docs/latest/sql-programming-guide.html | www.tarantool.io/en/doc | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation ![]() | Oracle ![]() | Oracle ![]() | Apache Software Foundation | VK | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2005 | 1995 | 1994 | 2014 | 2008 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 3.3.3, December 2023 | 8.4.0, April 2024 | 18.1.40, May 2020 | 3.5.0 ( 2.13), September 2023 | 2.10.0, May 2022 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License ![]() | Open Source ![]() | Open Source ![]() | Open Source ![]() | Open Source ![]() | Open Source ![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only ![]() | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) ![]() Providers of DBaaS offerings, please contact us to be listed. | Aiven for MySQL: Fully managed MySQL, deployable in the cloud of your choice, with seamless integrations and lightning-fast setup. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Erlang | C and C++ | C, Java, C++ (depending on the Berkeley DB edition) | Scala | C and C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Android BSD Linux OS X Solaris Windows | FreeBSD Linux OS X Solaris Windows | AIX Android FreeBSD iOS Linux OS X Solaris VxWorks Windows | Linux OS X Windows | BSD Linux macOS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | yes | schema-free | yes | Flexible data schema: relational definition for tables with ability to store json-like documents in columns | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing ![]() | no | yes | no | yes | string, double, decimal, uuid, integer, blob, boolean, datetime | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support ![]() | no | yes | yes ![]() | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes ![]() | yes | yes | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL ![]() | no | yes ![]() | yes ![]() | SQL-like DML and DDL statements | Full-featured ANSI SQL support | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP/JSON API | ADO.NET JDBC ODBC Proprietary native API | JDBC ODBC | Open binary protocol | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | Ada C C# C++ D Delphi Eiffel Erlang Haskell Java JavaScript (Node.js) Objective-C OCaml Perl PHP Python Ruby Scheme Tcl | .Net ![]() others ![]() C C# C++ Java JavaScript (Node.js) ![]() Perl Python Tcl | Java Python R Scala | C C# C++ Erlang Go Java JavaScript Lua Perl PHP Python Rust | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts ![]() | View functions in JavaScript | yes ![]() | no | no | Lua, C and SQL stored procedures | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | yes | yes | yes ![]() | no | yes, before/after data modification events, on replication events, client session events | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods ![]() | Sharding ![]() | horizontal partitioning, sharding with MySQL Cluster or MySQL Fabric | none | yes, utilizing Spark Core | Sharding, partitioned with virtual buckets by user defined affinity key. Live resharding for scale up and scale down without maintenance downtime. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods ![]() | Multi-source replication Source-replica replication | Multi-source replication Source-replica replication | Source-replica replication | none | Asynchronous replication with multi-master option Configurable replication topology (full-mesh, chain, star) Synchronous quorum replication (with Raft) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce ![]() | yes | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts ![]() | Eventual Consistency | Immediate Consistency | Casual consistency across sharding partitions Eventual consistency within replicaset partition ![]() Immediate Consistency within single instance Sequential consistency including linearizable read within replicaset partition ![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys ![]() | no | yes ![]() | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts ![]() | no ![]() | ACID ![]() | ACID | no | ACID, with serializable isolation and linearizable read (within partition); Configurable MVCC (within partition); No cross-shard distributed transactions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency ![]() | yes ![]() | yes ![]() | yes | yes, cooperative multitasking | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability ![]() | yes | yes | yes | yes | yes, write ahead logging | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities ![]() | no | yes | yes | no | yes, full featured in-memory storage engine with persistence | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts ![]() | Access rights for users can be defined per database | Users with fine-grained authorization concept ![]() | no | no | Access Control Lists Mutual TLS authentication for Tarantol Enterprise Password based authentication Role-based access control (RBAC) and LDAP for Tarantol Enterprise 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 | Navicat Monitor is a safe, simple and agentless remote server monitoring tool for MySQL and many other database management systems. » more Aiven for MySQL: Fully managed MySQL, deployable in the cloud of your choice, with seamless integrations and lightning-fast setup. » more CData: Connect to Big Data & NoSQL through standard Drivers. » more Navicat for MySQL is the ideal solution for MySQL/MariaDB administration and development. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CouchDB ![]() | MySQL | Oracle Berkeley DB | Spark SQL | Tarantool | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | MySQL is the DBMS of the Year 2019 MariaDB strengthens its position in the open source RDBMS market The struggle for the hegemony in Oracle's database empire | Data processing speed and reliability: in-memory synchronous replication 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 Apache CouchDB: The Definitive Introduction provided by Google News Early MySQL engineer questions whether Oracle is unintentionally killing off the open source database Amazon Aurora MySQL version 2 (with MySQL 5.7 compatibility) to version 3 (with MySQL 8.0 compatibility) upgrade ... Enterprise Manager: How Comcast enhanced monitoring for MySQL InnoDB Clusters Zendesk Moves from DynamoDB to MySQL and S3 to Save over 80% in Costs How to Create a MySQL 8 Database User With Remote Access provided by Google News Margo Seltzer Named ACM Athena Lecturer for Technical and Mentoring Contributions ACM recognizes far-reaching technical achievements with special awards Margo I. Seltzer | Berkman Klein Center Oracle buys Sleepycat Software How to store financial market data for backtesting provided by Google News Use Amazon Athena with Spark SQL for your open-source transactional table formats | Amazon Web Services What is Apache Spark? The big data platform that crushed Hadoop Cracking the Apache Spark Interview: 80+ Top Questions and Answers for 2024 Performance Insights from Sigma Rule Detections in Spark Streaming Simba Technologies(R) Introduces New, Powerful JDBC Driver With SQL Connector for Apache Spark(TM) provided by Google News Deploying Tarantool Cartridge applications with zero effort (Part 1) VShard — horizontal scaling in Tarantool Accelerating PHP connectors for Tarantool using Async, Swoole, and Parallel provided by Google News |
Share this page