DBMS > ClickHouse vs. CouchDB vs. Faircom DB vs. ObjectBox vs. Riak KV
System Properties Comparison ClickHouse vs. CouchDB vs. Faircom DB vs. ObjectBox vs. Riak KV
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | ClickHouse Xexclude from comparison | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" Xexclude from comparison | Faircom DB formerly c-treeACE Xexclude from comparison | ObjectBox Xexclude from comparison | Riak KV Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | A high-performance, column-oriented SQL DBMS for online analytical processing (OLAP) that uses all available system resources to their full potential to process each analytical query as fast as possible. It is available as both an open-source software and a cloud offering. | A native JSON - document store inspired by Lotus Notes, scalable from globally distributed server-clusters down to mobile phones. | Native high-speed multi-model DBMS for relational and key-value store data simultaneously accessible through SQL and NoSQL APIs. | Extremely fast embedded database for small devices, IoT and Mobile | Distributed, fault tolerant key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Document store | Key-value store Relational DBMS | Object oriented DBMS | Key-value store with links between data sets and object tags for the creation of secondary indexes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Time Series DBMS | Spatial DBMS using the Geocouch extension | Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | clickhouse.com | couchdb.apache.org | www.faircom.com/products/faircom-db | objectbox.io | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | clickhouse.com/docs | docs.couchdb.org/en/stable | docs.faircom.com/docs/en/UUID-7446ae34-a1a7-c843-c894-d5322e395184.html | docs.objectbox.io | www.tiot.jp/riak-docs/riak/kv/latest | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Clickhouse Inc. | Apache Software Foundation Apache top-level project, originally developed by Damien Katz, a former Lotus Notes developer | FairCom Corporation | ObjectBox Limited | OpenSource, formerly Basho Technologies | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2016 | 2005 | 1979 | 2017 | 2009 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | v24.4.1.2088-stable, May 2024 | 3.3.3, December 2023 | V12, November 2020 | 3.2.0, December 2022 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache 2.0 | Open Source Apache version 2 | commercial Restricted, free version available | Open Source Apache License 2.0 | Open Source Apache version 2, commercial enterprise edition | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ANSI C, C++ | C and C++ | Erlang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | FreeBSD Linux macOS | Android BSD Linux OS X Solaris Windows | AIX FreeBSD HP-UX Linux NetBSD OS X QNX SCO Solaris VxWorks Windows easily portable to other OSs | Android iOS Linux macOS Windows | Linux OS X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | schema-free | schema free, schema optional, schema required, partial schema, | yes | schema-free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | no | yes, ANSI SQL Types, JSON, typed binary structures | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | restricted | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | Close to ANSI SQL (SQL/JSON + extensions) | no | yes, ANSI SQL with proprietary extensions | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | gRPC HTTP REST JDBC MySQL wire protocol ODBC PostgreSQL wire protocol Proprietary protocol | RESTful HTTP/JSON API | ADO.NET Direct SQL JDBC JPA ODBC RESTful HTTP/JSON API RESTful MQTT/JSON API RPC | Proprietary native API | HTTP API Native Erlang Interface | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | C# 3rd party library C++ Elixir 3rd party library Go 3rd party library Java 3rd party library JavaScript (Node.js) 3rd party library Kotlin 3rd party library Nim 3rd party library Perl 3rd party library PHP 3rd party library Python 3rd party library R 3rd party library Ruby 3rd party library Rust Scala 3rd party library | C C# ColdFusion Erlang Haskell Java JavaScript Lisp Lua Objective-C OCaml Perl PHP PL/SQL Python Ruby Smalltalk | .Net C C# C++ Java JavaScript (Node.js and browser) PHP Python Visual Basic | C C++ Dart Go Java JavaScript planned (as of Jan 2019) Kotlin Python planned (as of Jan 2019) Swift | C unofficial client library C# C++ unofficial client library Clojure unofficial client library Dart unofficial client library Erlang Go unofficial client library Groovy unofficial client library Haskell unofficial client library Java JavaScript unofficial client library Lisp unofficial client library Perl unofficial client library PHP Python Ruby Scala unofficial client library Smalltalk unofficial client library | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | yes | View functions in JavaScript | yes .Net, JavaScript, C/C++ | no | Erlang | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | yes | yes | no | yes pre-commit hooks and post-commit hooks | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | key based and custom | Sharding improved architecture with release 2.0 | File partitioning, horizontal partitioning, sharding Customizable business rules for table partitioning | none | Sharding no "single point of failure" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | Asynchronous and synchronous physical replication; geographically distributed replicas; support for object storages. | Multi-source replication Source-replica replication | yes, configurable to be parallel or serial, synchronous or asynchronous, uni-directional or bi-directional, ACID-consistent or eventually consistent (with custom conflict resolution). | online/offline synchronization between client and server | selectable replication factor | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Eventual Consistency | Eventual Consistency Immediate Consistency Tunable consistency per server, database, table, and transaction | Immediate Consistency | Eventual Consistency | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | yes | yes | no links between data sets can be stored | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no | no atomic operations within a single document possible | tunable from ACID to Eventually Consistent | ACID | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes strategy: optimistic locking | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | Yes, tunable from durable to delayed durability to in-memory | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | yes | no | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles. Column and row based policies. Quotas and resource limits. Pluggable authentication with LDAP and Kerberos. Password based, X.509 certificate, and SSH key authentication. | Access rights for users can be defined per database | Fine grained access rights according to SQL-standard with additional protections for files | yes | yes, using Riak Security | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClickHouse | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Faircom DB formerly c-treeACE | ObjectBox | Riak KV | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
News | On-device Vector Database for Dart/Flutter The first On-Device Vector Database: ObjectBox 4.0 Edge AI: The era of on-device AI In-Memory Database Use Cases Data Viewer for Objects – announcing ObjectBox Admin | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and services | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3rd parties | Aiven for Clickhouse: Managed cloud data warehousing with high-speed analytics. » more DoubleCloud: Fully managed ClickHouse alongside best-in-class managed open-source services to build analytics at scale. » more | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
We invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ClickHouse | CouchDB stands for "Cluster Of Unreliable Commodity Hardware" | Faircom DB formerly c-treeACE | ObjectBox | Riak KV | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | Couchbase climbs up the DB-Engines Ranking, increasing its popularity by 10% every month | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Why Clickhouse Should Be Your Next Database ClickHouse Cloud & Amazon S3 Express One Zone: Making a blazing fast analytical database even faster | Amazon ... A 1000x Faster Database Solution: ClickHouse’s Aaron Katz From Open Source to SaaS: the Journey of ClickHouse ClickHouse Announces Launch of ClickPipes provided by Google News | How to Automate A Blog Post App Deployment With GitHub Actions, Node.js, CouchDB, and Aptible 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 provided by Google News | FairCom kicks off new era of database technology USA - English provided by Google News | Basho Revamps Riak Open-Source Database Riak NoSQL Database: Use Cases and Best Practices Basho, Maker of Riak NoSQL Database, Raises $25M Riak NoSQL snapped up by Bet365 Riak Taps Mesos for 'Push Button' NoSQL Scalability provided by Google News |
Share this page