DBMS > Apache Doris vs. Apache Pinot vs. DuckDB vs. HarperDB vs. Vertica
System Properties Comparison Apache Doris vs. Apache Pinot vs. DuckDB vs. HarperDB vs. Vertica
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Apache Doris Xexclude from comparison | Apache Pinot Xexclude from comparison | DuckDB Xexclude from comparison | HarperDB Xexclude from comparison | Vertica OpenText™ Vertica™ Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | An MPP-based analytics DBMS embracing the MySQL protocol | Realtime distributed OLAP datastore, designed to answer OLAP queries with low latency | An embeddable, in-process, column-oriented SQL OLAP RDBMS | HarperDB takes the "stack" out of "tech stack" by combining an ultra-fast document-style data store, in-memory cache, real-time message broker, and your application components into a single distributed technology. | Cloud or off-cloud analytical database and query engine for structured and semi-structured streaming and batch data. Machine learning platform with built-in algorithms, data preparation capabilities, and model evaluation and management via SQL or Python. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Relational DBMS | Relational DBMS | Relational DBMS | Document store | Relational DBMS Column oriented | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary database models | Spatial DBMS Time Series DBMS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | doris.apache.org github.com/apache/doris | pinot.apache.org | duckdb.org | www.harperdb.io | www.vertica.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | github.com/apache/doris/wiki | docs.pinot.apache.org | duckdb.org/docs | docs.harperdb.io/docs | vertica.com/documentation | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Apache Software Foundation, originally contributed from Baidu | Apache Software Foundation and contributors | HarperDB | OpenText previously Micro Focus and Hewlett Packard | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2017 | 2015 | 2018 | 2017 | 2005 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 1.2.2, February 2023 | 1.0.0, September 2023 | 1.0.0, June 2024 | 3.1, August 2021 | 12.0.3, January 2023 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | Open Source Apache Version 2.0 | Open Source Apache Version 2.0 | Open Source MIT License | commercial free community edition available | commercial Limited community edition free | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | no | no | no | no | no on-premises, all major clouds - Amazon AWS, Microsoft Azure, Google Cloud Platform and containers | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Java | Java | C++ | Node.js | C++ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | Linux | All OS with a Java JDK11 or higher | server-less | Linux OS X | Linux | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | yes | yes | yes | dynamic schema | Yes, but also semi-structure/unstructured data storage, and complex hierarchical data (like Parquet) stored and/or queried. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | yes | yes | yes | yes JSON data types | 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 | No Indexes Required. Different internal optimization strategy, but same functionality included. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | yes | SQL-like query language | yes | SQL-like data manipulation statements | Full 1999 standard plus machine learning, time series and geospatial. Over 650 functions. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | JDBC MySQL client | JDBC | Arrow Database Connectivity (ADBC) CLI Client JDBC ODBC | JDBC ODBC React Hooks RESTful HTTP/JSON API WebSocket | ADO.NET JDBC Kafka Connector ODBC RESTful HTTP API Spark Connector vSQL character-based, interactive, front-end utility | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | Java | Go Java Python | 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 | .Net C C# C++ ColdFusion D Dart Delphi Erlang Go Haskell Java JavaScript (Node.js) Lisp MatLab Objective C Perl PHP PowerShell Prolog Python R Ruby Rust Scala Swift | C# C++ Go Java JavaScript (Node.js) Perl PHP Python R | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | user defined functions | no | Custom Functions since release 3.1 | yes, PostgreSQL PL/pgSQL, with minor differences | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | no | yes, called Custom Alerts | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | horizontal partitioning | horizontal partitioning | none | A table resides as a whole on one (or more) nodes in a cluster | horizontal partitioning, hierarchical partitioning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | none | none | yes the nodes on which a table resides can be defined | Multi-source replication One, or more copies of data replicated across nodes, or object-store used for repository. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | no | no Bi-directional Spark integration | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Immediate Consistency | Immediate Consistency | Immediate Consistency | Immediate Consistency | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | no | no | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | ACID | Atomic execution of specific operations | ACID | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes, multi-version concurrency control (MVCC) | yes | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes, using LMDB | yes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | yes | yes | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | fine grained access rights according to SQL-standard | no | Access rights for users and roles | fine grained access rights according to SQL-standard; supports Kerberos, LDAP, Ident and hash | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 Pinot | DuckDB | HarperDB | Vertica OpenText™ Vertica™ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Breaking Down Data Silos: How Apache Doris Streamlines Customer Data Integration Apache Doris just 'graduated': Why care about this SQL data warehouse Migrating from ClickHouse to Apache Doris: Boosting OLAP Performance How to Digest 15 Billion Logs Per Day and Keep Big Queries Within 1 Second Apache Doris Analytical Database Graduates from Apache Incubator provided by Google News | Build a real-time analytics solution with Apache Pinot on AWS Pinot for Low-Latency Offline Table Analytics StarTree broadly enhances Apache Pinot-based analytics platform Open source Apache Pinot advances as StarTree boosts real-time analytics and observability StarTree Makes Observability Case for Apache Pinot Database provided by Google News | My First Billion (of Rows) in DuckDB TigerEye Open Sources DuckDB.dart Unleashing Postgres for Analytics With DuckDB Integration DuckDB: The tiny but powerful analytics database Reading PCAP Files (Directly) With DuckDB provided by Google News | HarperDB Attracts Significant Growth Investment from Serent Capital Defense Innovation Unit Issues Success Memo to HarperDB for its Common Operation Database Prototype DoD Successfully Deploys Commercial AI Solutions for COD Project Serent Capital invests in software firm HarperDB HarperDB Receives Growth Investment from Serent Capital provided by Google News | Vertica on Kubernetes OpenText Analytics Database: The ELT Advantage MapR Hadoop Upgrade Spins YARN, Supports HP Vertica Analytics Platform Stonebraker Seeks to Invert the Computing Paradigm with DBOS Querying a Vertica data source in Amazon Athena using the Athena Federated Query SDK provided by Google News |
Share this page