DBMS > Apache Doris vs. Apache Kylin vs. Apache Pinot vs. CockroachDB vs. DuckDB
System Properties Comparison Apache Doris vs. Apache Kylin vs. Apache Pinot vs. CockroachDB vs. DuckDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Doris Xexclude from comparison | Apache Kylin Xexclude from comparison | Apache Pinot Xexclude from comparison | CockroachDB Xexclude from comparison | DuckDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An MPP-based analytics DBMS embracing the MySQL protocol | A distributed analytics engine for big data, providing a SQL interface and multi-dimensional analysis (OLAP) and leveraging the Hadoop stack | Realtime distributed OLAP datastore, designed to answer OLAP queries with low latency | CockroachDB is a distributed database architected for modern cloud applications. It is wire compatible with PostgreSQL and backed by a Key-Value Store, which is either RocksDB or a purpose-built derivative, called Pebble. | An embeddable, in-process, column-oriented SQL OLAP RDBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS | Relational DBMS | Relational DBMS | Relational DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | doris.apache.org github.com/apache/doris | kylin.apache.org | pinot.apache.org | www.cockroachlabs.com | duckdb.org | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | github.com/apache/doris/wiki | kylin.apache.org/docs | docs.pinot.apache.org | www.cockroachlabs.com/docs | duckdb.org/docs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation, originally contributed from Baidu | Apache Software Foundation, originally contributed from eBay Inc | Apache Software Foundation and contributors | Cockroach Labs | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2017 | 2015 | 2015 | 2015 | 2018 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.2.2, February 2023 | 3.1.0, July 2020 | 1.0.0, September 2023 | 24.1.0, May 2024 | 1.0.0, June 2024 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | Open Source Apache Version 2.0 | Open Source Apache Version 2.0 | Open Source Apache 2.0, commercial license available | Open Source MIT License | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | Java | Java | Java | Go | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | Linux | All OS with a Java JDK11 or higher | Linux macOS Windows | server-less | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | yes | dynamic schema | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | 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 | yes | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | ANSI SQL for queries (using Apache Calcite) | SQL-like query language | yes, wire compatible with PostgreSQL | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC MySQL client | JDBC ODBC RESTful HTTP API | JDBC | JDBC | Arrow Database Connectivity (ADBC) CLI Client JDBC ODBC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java | Go Java Python | C# C++ Clojure Go Java JavaScript (Node.js) PHP Python Ruby Rust | C C# 3rd party driver C++ Crystal 3rd party driver Go 3rd party driver Java Lisp 3rd party driver Python R Ruby 3rd party driver Rust Swift Zig 3rd party driver | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning | horizontal partitioning | horizontal partitioning (by key range) all tables are translated to an ordered KV store and then broken down into 64MB ranges, which are then used as replicas in RAFT | none | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | Multi-source replication using RAFT | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | yes | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | ACID | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes, multi-version concurrency control (MVCC) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | 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 | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | Role-based access control | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Apache Doris | Apache Kylin | Apache Pinot | CockroachDB | DuckDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Migrating from ClickHouse to Apache Doris: Boosting OLAP Performance Apache Doris just 'graduated': Why care about this SQL data warehouse How to Digest 15 Billion Logs Per Day and Keep Big Queries Within 1 Second Apache Doris Analytical Database Graduates from Apache Incubator StarRocks’ real-time analytics engine moves to the cloud provided by Google News | Overhauling Apache Kylin for the cloud Migrating from ClickHouse to Apache Doris: Boosting OLAP Performance eBay’s Kylin Becomes a Top-Level Apache Open Source Project Distributed OLAPer Kyligence accelerates core engine, adds real-time data support How Kyligence Cloud uses Amazon EMR Serverless to simplify OLAP provided by Google News | Pinot for Low-Latency Offline Table Analytics Build a real-time analytics solution with Apache Pinot on AWS Open source Apache Pinot advances as StarTree boosts real-time analytics and observability StarTree broadly enhances Apache Pinot-based analytics platform StarTree Finds Apache Pinot the Right Vintage for IT Observability provided by Google News | Cockroach Labs shakes up its licensing to force bigger companies to pay CockroachDB scuttles away from open source Core offering CockroachDB retires self-hosted Core offering, makes Enterprise version free for companies under $10M in annual revenue Cockroach Labs Deepens Partnership with Google Cloud, CockroachDB Selected to Join Google Distributed Cloud Now CockroachDB Ditches Open-Source License provided by Google News | LLM-Assisted Translation From Postgres to SQLite and DuckDB My First Billion (of Rows) in DuckDB Reading PCAP Files (Directly) With DuckDB TigerEye Open Sources DuckDB.dart DuckDB: The tiny but powerful analytics database provided by Google News |
Share this page