Skip to content

The new BARC study is here

Download now

Best Columnar Databases for Analytics in 2026-2027

Florian Wenzel
· · 17 mins read

The best columnar database depends on workload shape, latency targets, concurrency, deployment requirements, and operational responsibility. This comparison evaluates 12 systems for enterprise analytical SQL, distributed OLAP, event analytics, time-series analysis, and embedded workloads. Each system is assessed within its documented workload and the available comparative evidence.

A columnar database stores values from the same column together, which can reduce unnecessary reads during analytical queries. The evaluation covers architecture, deployment, operating model, documented strengths, trade-offs, and available benchmark evidence. Benchmark findings apply only to the tested versions, configurations, hardware, and queries described in the supporting evidence.

For data analytics, a practical shortlist includes Amazon Redshift, Apache Doris, Apache Druid, Apache Pinot, ClickHouse, DuckDB, Exasol, Google BigQuery, QuestDB, Snowflake, StarRocks, and Vertica. This comparison evaluates workload fit and documented capabilities rather than popularity. The first filter should be the workload each database must support.

Several systems can support more than one category. The table identifies the primary reason to evaluate each system and the conditions to test before selection.

Workload requirementSystems to evaluateReason for shortlistingWhat to validate
Enterprise analytical SQL and BIAmazon Redshift, Exasol, Google BigQuery, Snowflake, VerticaTheir documentation identifies data warehousing, analytical SQL, reporting, or BI as core workloads.Query complexity, SQL compatibility, dashboard concurrency, ingestion, governance, deployment, and operational control
Distributed and real-time OLAPApache Doris, ClickHouse, StarRocks, ExasolTheir documented architectures support distributed analytical processing and column-oriented execution.Ingestion latency, join performance, concurrency, data distribution, scaling behavior, and operational effort
Event and user-facing analyticsApache Druid, Apache PinotTheir documentation emphasizes event-oriented data, real-time ingestion, analytical applications, and concurrent query workloads.Data freshness, dimensional filters, indexing, retention, query concurrency, and recovery behavior
Time-series analyticsQuestDBIts documented architecture uses column-oriented, time-partitioned storage and time-series SQL extensions.Ingestion patterns, out-of-order data, retention, joins, high availability, and non-time-series queries
Embedded and local analyticsDuckDBIts documented operating model embeds the database within a host process and targets analytical workloads.Dataset size, memory use, process concurrency, persistence, application integration, and production operating requirements
Source note: Product architecture, deployment, workload, and operating-model claims are based on the official documentation linked in the individual system profiles below.

Try Exasol Personal for Free

Run real workloads at full Exasol performance.

How We Evaluated and Included Systems

This comparison uses documented workload fit rather than a universal product ranking. Each included system represents a distinct architecture, deployment model, or analytical workload. Inclusion indicates relevance to the evaluation, not equivalent functionality or performance.

Inclusion criteria

A system was included when current official documentation met the following criteria:

  • It is described as a database, analytical data store, or data warehouse.
  • Column-oriented storage is central to its analytical architecture.
  • Its intended analytical workloads are documented.
  • Its deployment and operating model can be verified.
  • It represents a meaningful technical or operational choice.
  • Sufficient primary documentation exists to support a factual profile.

Databricks SQL is treated as an adjacent platform because its documentation defines it as a cloud data warehouse built on lakehouse architecture. Trino appears only in the benchmark section because its documentation defines it as a distributed query engine that accesses connected data sources. Columnar file formats such as Parquet and ORC are outside the product comparison.

Evaluation dimensions

Every included system is evaluated by typical workload, data model, deployment model, operating model, documented strengths, and material trade-offs. Available benchmark evidence is reported separately because equivalent comparative results don’t exist across all 12 systems.

A documented strength describes a capability or intended workload supported by primary documentation. A trade-off identifies a condition that buyers should validate during a proof of concept. It doesn’t assume that every deployment will encounter the same limitation.

Evidence rules

Official technical documentation supports architecture, storage, deployment, and operating-model claims. Vendor product material may establish an intended use case, but it doesn’t establish superiority over another system.

Comparative performance claims require a shared workload, disclosed configurations, hardware details, software versions, query results, and completion data. Benchmark findings must remain qualified by those conditions.

The open-source Benchkit repository contains the framework, workloads, configurations, verification functions, and reporting components used to run and document the benchmarks. Exasol develops and publishes Benchkit, so this article identifies the source and limits conclusions to the published test conditions.

What This Comparison Does and Doesn’t Measure

This comparison evaluates each system’s documented architecture, storage model, deployment options, operating model, and intended analytical workloads. These criteria help identify which systems belong on a workload-specific shortlist. They don’t establish a universal performance ranking.

The published scalability study compares Exasol, ClickHouse, StarRocks, Trino, and DuckDB under the disclosed test conditions. The study used all 22 TPC-H queries to examine concurrency, data-volume scaling, and cluster scaling across 12 configurations. It used one warm-up run and five measured runs per query, randomized query order, and median reporting.

The tested versions were Exasol 2025.2.0, ClickHouse 26.1.3.52, StarRocks 4.0.6, Trino 479, and DuckDB 1.4.4. The systems used the same hardware within each applicable configuration. DuckDB was excluded from cluster-scaling tests because the tested configuration didn’t support multi-node execution.

Those results describe the tested software versions, hardware, configurations, data volumes, concurrency levels, and query suite. They don’t show how every system will perform with different schemas, data distributions, SQL patterns, ingestion rates, infrastructure, or operational constraints. They also don’t provide equivalent performance evidence for all 12 systems in this article.

This comparison doesn’t rank market adoption, total cost of ownership, administrative effort, security, reliability, support quality, or regulatory suitability. These factors depend on an organization’s environment, contract terms, staffing, governance requirements, and implementation.

The findings support technical shortlisting. Final selection requires a proof of concept using representative data, queries, ingestion patterns, concurrency, failure scenarios, and operating procedures.

Columnar Databases Compared at a Glance

The systems below address different analytical workloads, architectures, deployment choices, and operating responsibilities. The table summarizes documented product characteristics and identifies priorities for a representative proof of concept. The order is alphabetical and doesn’t represent a performance, popularity, or overall product ranking.

SystemPrimary workloadData and execution modelDeployment and operating modelDocumented fit and proof-of-concept priorities
Amazon RedshiftCloud data warehousing and BIColumnar table storage; provisioned clusters use massively parallel processingAWS-managed provisioned clusters or Amazon Redshift ServerlessFits AWS-centered data warehousing. Validate concurrency, data distribution, workload management, and cost with representative queries.
Apache DorisReal-time analytics, dashboards, and lakehouse analyticsColumnar MPP architecture with vectorized execution; supports integrated and compute-storage-separated architecturesSelf-managed deployment on physical hosts, virtual machines, or KubernetesFits workloads combining interactive queries and real-time data. Validate ingestion, update behavior, concurrency, and the selected storage architecture.
Apache DruidTime-oriented event analytics and streaming ingestionTime-partitioned columnar segments with optional bitmap indexes; distributed service architectureSelf-managed cluster with deep storage and a metadata database; standard deployments use ZooKeeper, with an experimental Kubernetes alternative.Fits event data and time-range analysis. Validate segment design, ingestion, joins, SQL requirements, dependencies, and operational complexity.
Apache PinotReal-time, user-facing analyticsDistributed OLAP architecture using columnar segments, dictionaries, and optional indexesSelf-managed cluster, including Kubernetes deployments; operators manage several service types and cluster dependenciesFits low-latency analytical applications with high query concurrency. Validate segment and index design, update requirements, SQL coverage, and cluster operations.
ClickHouseAnalytical SQL and real-time analyticsColumn-oriented storage with vectorized query executionSelf-managed open-source software or the managed ClickHouse Cloud serviceFits scan, filter, and aggregation workloads. Validate joins, updates, concurrency, data distribution, and resource behavior with representative data.
DuckDBEmbedded and local analytics, notebooks, and data scienceRelational database with columnar-vectorized execution and a native single-file formatPrimarily embedded in the application process as a library or command-line tool; optional client-server access is available through the beta Quack extension.Fits in-process analysis and local-file workflows. Validate memory limits, multi-process access, write concurrency, and production service requirements.
ExasolData warehousing, BI, complex analytical SQL, AI and ML workloadsShared-nothing MPP architecture with distributed storage and in-memory analytics processingOn-premises, hybrid, or fully managed SaaS deploymentFits analytical SQL and concurrent BI workloads where deployment control may matter. Validate representative queries, dashboard concurrency, data volumes, and node scaling.
Google BigQueryServerless data warehousing, BI, and ad hoc analyticsColumnar table storage with separated storage and compute; distributed query executionGoogle Cloud-managed serverless serviceFits teams seeking minimal infrastructure administration. Validate capacity and reservation choices, query cost, data location, latency, and concurrency.
QuestDBTime-series ingestion and analyticsTime-partitioned columnar storage with vectorized multicore executionSelf-managed binary, container, Kubernetes, or cloud virtual machine deploymentsFits timestamp-centered data and ingestion workloads. Validate out-of-order ingestion, retention, joins, availability requirements, and non-time-series queries.
SnowflakeCloud data warehousing, BI, and data engineeringCompressed columnar storage with independent virtual warehouses for computeSnowflake-managed public cloud service; local, on-premises, and private-cloud deployments aren’t supportedFits managed cloud analytics with independently sized compute resources. Validate warehouse sizing, concurrency, credit use, and workload isolation.
StarRocksReal-time analytics, ad hoc queries, and lake analyticsColumnar MPP system with vectorized execution; supports shared-nothing and shared-data architecturesSelf-managed deployment using local storage or object storage and HDFSFits analytical workloads combining recent and historical data. Validate joins, updates, cache behavior, concurrency, and architecture choice.
VerticaRead-intensive analytical SQL and data warehousingDistributed column storage organized through projections; supports Enterprise Mode and compute-storage-separated Eon ModeCustomer-operated deployments on-premises or in public cloud environments; a managed DBaaS subscription is also available from Rocket Software.Fits analytical workloads that benefit from projection design and deployment control. Validate projections, loading patterns, depot sizing, workload isolation, and operations.

Test Real Analytical Workloads with Exasol Personal

Unlimited data. Full analytics performance.

Amazon Redshift

Amazon Redshift is an AWS cloud data warehouse that stores relational table data by column. Organizations can use provisioned clusters or Amazon Redshift Serverless, which automatically adjusts compute capacity according to workload requirements.

Redshift is a candidate for analytical workloads in AWS when teams prefer a managed cloud service. Test query latency, ingestion, concurrency, workload isolation, and cost with production-shaped data and SQL.

Apache Doris

Apache Doris is an MPP analytical database that uses columnar storage and vectorized query execution. Its documentation covers real-time dashboards, ad hoc analysis, and lakehouse analytics. Teams can choose integrated storage and compute or a decoupled architecture using shared storage.

Self-managed deployments require operators to configure Frontend nodes for requests and metadata, plus Backend nodes for storage and execution. The manual deployment guide covers cluster planning, high-availability Frontend nodes, Backend registration, disks, networking, and verification.

Apache Doris is relevant when teams need self-managed infrastructure for real-time reporting and lakehouse queries. Validate ingestion, update models, joins, concurrency, object-storage behavior, and operational requirements.

Apache Druid

Apache Druid stores data and indexes in time-partitioned columnar segments. Dimension columns use dictionaries and bitmap indexes for filtering, while metric columns support analytical aggregations.

Its distributed architecture separates coordination, ingestion, query routing, and historical storage across several services. Standard clustered deployments use deep storage, a metadata database, and Apache ZooKeeper. Druid’s experimental Kubernetes extension can replace ZooKeeper for node discovery and leader election.

Druid suits event streams, time-range filtering, and frequently refreshed analytical dashboards. Test segment sizing, ingestion behavior, rollup choices, high-cardinality dimensions, joins, SQL coverage, and operational complexity.

Apache Pinot

Apache Pinot is a distributed OLAP database designed for real-time, user-facing analytics. Its architecture separates control, query routing, storage, and background processing across services managed through Apache Helix and ZooKeeper.

Pinot stores tables in columnar segments containing per-column dictionaries and indexes. Tables can ingest batch data, streaming data, or both.

Pinot suits applications that query continuously arriving data. Validate ingestion freshness, segment and index design, upsert behavior, SQL coverage, joins, concurrency, and cluster operations.

ClickHouse

ClickHouse is a column-oriented DBMS with vectorized query execution. It stores table columns separately and processes chunks of column values through its query pipeline.

Teams can operate the open-source software themselves or use ClickHouse Cloud as a managed service. The managed service covers infrastructure, maintenance, scaling, and database operations.

ClickHouse fits analytical workloads centered on scans, filters, aggregations, and continuously arriving data. Test joins, update patterns, memory use, sharding, replication, concurrency, and distributed-query behavior.

DuckDB

DuckDB describes itself as a relational, table-oriented database with columnar-vectorized query execution. It primarily runs inside the host process and can persist data in a single database file. The beta Quack core extension provides optional client-server access.

This comparison includes DuckDB because of its columnar-vectorized analytical execution model. Its embedded architecture and operating model differ from distributed database servers.

Evaluate DuckDB for local analytics, notebooks, data science, and application-embedded workloads. A proof of concept should validate memory limits, file access, concurrent writes, and multi-process requirements against its documented concurrency model.

Exasol

Exasol uses a shared-nothing MPP architecture. Query work and data are distributed across equal cluster nodes, while EXAStorage manages distributed storage and failover.

Its deployment options include on-premises, public cloud instances, hybrid environments, and Exasol SaaS. These options support different operational, governance, and data-location requirements.

Evaluate Exasol when analytical SQL concurrency, workload control, AI/ML workloads, and deployment flexibility are important selection criteria. A proof of concept should test representative queries, dashboard concurrency, data volumes, failure behavior, scaling, and operational requirements.

Google BigQuery

Google BigQuery is a fully managed, serverless data warehouse. Its architecture stores table data in columnar format and separates storage from compute, allowing each layer to allocate resources independently.

Google manages the underlying infrastructure, maintenance, and service updates. Teams still configure datasets, access controls, data locations, workload capacity, and cost controls through BigQuery’s administration features.

BigQuery belongs on the shortlist when analytics runs primarily on Google Cloud and a serverless operating model is a priority. Assess representative query costs, latency, ingestion patterns, concurrency, workload isolation, and data-location requirements.

QuestDB

QuestDB is a time-series database that stores live data in a native, time-partitioned columnar format. Its architecture combines write-ahead logging with vectorized, multicore query execution and SQL extensions for time-series analysis.

QuestDB Open Source operates as a self-managed, single-instance system. QuestDB Enterprise adds read replicas, failover, tiered object storage, and self-managed deployment options.

QuestDB is relevant for time-ordered data, continuous ingestion, and SQL analysis across recent and historical records. Test ingestion rates, out-of-order data, partitioning, retention, time-window queries, availability requirements, and long-term storage.

Snowflake

Snowflake stores standard table data in an internally optimized, compressed columnar format divided into micro-partitions. Its architecture separates centralized cloud storage from independent MPP compute clusters called virtual warehouses and a coordinating cloud-services layer.

Snowflake provides the platform as a managed service on public cloud infrastructure. Snowflake manages software updates and infrastructure, and customers can’t install the platform locally, on premises, or in a private cloud.

Snowflake is a candidate when teams prioritize managed cloud data warehousing and separate compute resources for different analytical workloads. Test representative queries, ingestion, concurrency, warehouse sizing, workload isolation, data-location requirements, and expected consumption costs.

StarRocks

StarRocks is an open-source MPP analytical database with columnar storage and vectorized execution. Its engine processes storage, in-memory data, and SQL operators in columnar form.

The architecture supports shared-nothing and shared-data operating models. Shared-nothing clusters combine compute and local storage on backend nodes, while shared-data clusters separate compute from object storage or HDFS.

Evaluate StarRocks when teams need distributed SQL analytics and a choice between local storage and separated storage and compute. Test data loading, update patterns, joins, concurrency, cache behavior, node scaling, and operational requirements.

Vertica

Vertica is a distributed analytical database that stores data in columnar format. Its architecture physically organizes table data into projections, which can be segmented or replicated across cluster nodes.

The database supports Enterprise and Eon operating modes. Enterprise Mode combines compute with storage on each node, while Eon Mode separates compute from communal object storage. Both modes support cloud and on-premises deployment. Rocket Software also offers a managed Vertica DBaaS subscription.

Vertica belongs on the shortlist when teams need distributed columnar analytics, deployment control, and a choice between coupled or separated storage and compute. Test projection design, data loading, concurrency, workload isolation, cache sizing, node scaling, and operational requirements.

Try Exasol Personal for Free

Run real workloads at full Exasol performance.

What The Benchkit Scalability Study Found

The Benchkit scalability study tested Exasol 2025.2.0, ClickHouse 26.1.3.52, StarRocks 4.0.6, Trino 479, and DuckDB 1.4.4. It ran the same 22 TPC-H queries across 12 configurations on AWS EC2 r6id instances in eu-west-1.

Each query had one warm-up run followed by five measured runs in randomized order, with the median reported. The study varied three dimensions independently:

  • Concurrency: one to 16 streams on one node at TPC-H scale factor 50, with CPU and memory increasing proportionally.
  • Data volume: scale factors 25, 50, and 100 on one node with four streams, with resources increasing proportionally.
  • Node count: one to eight nodes at scale factor 50 with four streams and a fixed total of 16 vCPUs and 128 GB of memory.

A ratio of 1.00 indicates unchanged runtime as the tested dimension scales. A value below 1.00 means runtime decreased, while a value above 1.00 means runtime increased. The node ratio measures overhead per doubling of nodes and doesn’t represent absolute query speed.

SystemData scaling ratioConcurrency ratioNode-scaling resultQuery completion
Exasol0.91×0.80×1.35×100 percent
DuckDB1.13×1.41×Not tested100 percent in its single-node tests
ClickHouse1.16×1.39×Runtime ratio not comparable36 to 82 percent across node configurations
StarRocks1.31×1.07×0.98×100 percent
Trino1.00×1.16×1.49×100 percent

Source for all values: published benchmark results, methodology, and interpretation. The public Benchkit reports present the configuration-level results.

Within these test conditions, Exasol recorded the lowest total runtime in every configuration and the strongest concurrency-scaling ratio. StarRocks recorded the lowest node-scaling overhead, while Trino remained closest to flat when data volume and hardware doubled.

DuckDB did not participate in node-scaling tests because the tested DuckDB 1.4.4 configuration did not support multi-node execution. ClickHouse’s node runtimes weren’t compared because its completed-query count fell from 82 percent on one node to 36 percent on eight nodes. Comparing totals from different query subsets would produce a misleading runtime ratio.

These findings don’t establish a universal database ranking. The study used one join-heavy TPC-H workload, one AWS hardware family, specific software versions, and configurations prepared by an Exasol team. It didn’t measure ingestion, licensing costs, administration effort, availability, support, or performance on application-specific queries.

Proof-of-concept Checklist

Use published comparisons to build a shortlist. Make the final decision with a proof of concept that reflects your production workload, operating model, and service requirements.

Keep the following inputs consistent across candidates:

  • Data model: Preserve representative tables, joins, cardinalities, distributions, and filter selectivity.
  • Query mix: Include dashboards, recurring reports, ad hoc queries, and data transformations in realistic proportions.
  • Concurrency: Test expected and peak user or application concurrency, including overlapping long-running queries.
  • Data lifecycle: Reproduce ingestion frequency, updates, retention, partitioning, and historical-data access.
  • Scale: Test current volumes and expected growth across compute, storage, and node-count changes.
  • Reliability: Record completed, failed, canceled, and timed-out queries instead of reporting successful runs alone.
  • Operations: Test scaling, recovery, maintenance, monitoring, access control, and workload isolation.
  • Cost: Include infrastructure, licenses, data transfer, administration, and workload-specific resource consumption.

Document the database version, hardware, settings, tuning changes, warm-up process, query order, and every measured execution. Report medians alongside variation and query success rates so unusually fast runs or failures don’t distort the result.

Exasol’s guide to database scalability explains how to test concurrency, data volume, and node count.

A suitable columnar database should meet the workload’s latency, throughput, reliability, deployment, governance, and cost requirements. The most useful outcome is a documented fit decision, not a universal ranking.

Selection Summary

No columnar database is the best choice for every analytical workload. The decision should reflect query patterns, concurrency, data lifecycle, deployment requirements, operational ownership, and total cost.

Exasol belongs on the shortlist when concurrent analytical SQL and deployment flexibility are priorities, alongside heavy AI&ML workloads. In the published Benchkit study, it completed all 22 queries across the tested configurations, recorded the lowest total runtime in every configuration, and achieved a 0.80 concurrency-scaling ratio.

Those results apply to the tested TPC-H workload, software versions, hardware, and configurations. Teams prioritizing managed public cloud services, embedded analytics, event data, or open-source operations may select a different system from the comparison.

Use the workload table to create a shortlist, then validate each candidate with representative data, queries, concurrency, and operating constraints. The final choice should rest on documented workload fit rather than a generic ranking.

Test Real Analytical Workloads with Exasol Personal

Unlimited data. Full analytics performance.

Florian Wenzel
Florian Wenzel

As VP of Product Management at Exasol, Florian Wenzel is dedicated to developing products that customers love. His key responsibilities include aligning direct customer needs with innovative features to create impactful and strategic product roadmaps. Florian brings a wealth of experience to his role, having previously served as the Global Head of Solution Engineering. This position honed his deep understanding of diverse use cases and equipped him with extensive expertise in database technologies—an area he has thoroughly explored during his PhD studies. With a strong foundation in customer-focused product development and technical proficiency, Florian continues to drive Exasol’s mission to deliver outstanding database solutions.