programcode

Head-to-head · Database systems

DuckDB vs ClickHouse

Choose DuckDB for embedded SQL and local files; choose ClickHouse for shared analytics with cloud or self-managed deployment.

DuckDB

8.5/10
VS

ClickHouse

8.3/10

We may earn a commission if you buy through links on this page. It never changes a score or a ranking. How we make money

Short answer

It's a split decision.

DuckDB is the better fit for developers embedding SQL analytics in an application or working directly with local and object-storage files: it is MIT-licensed, free, and exposes APIs for several named languages. ClickHouse fits shared, server-based analytics over large, continuously queried datasets, with Cloud, self-managed, and local options. Its managed service is paid after a 30-day trial and charges for compute, storage, and some data transfer. Pick by deployment shape, not headline query speed.

01Side by side

DuckDBClickHouse
Pricing modelFree open-source databaseUsage-based compute and storage
Free tierFree for personal and commercial use30-day ClickHouse Cloud trial
Open source and licenceOpen source; MIT-licensedOpen source; licence unspecified
Self-hostingIn-process or deployed on devices and serversSelf-managed deployment available
API and SDKsNative APIs for Python, Go, Java, Node.js, Rust100+ integrations, including language clients
IntegrationsNamed cloud, database, language, and format integrations100+ integrations across multiple categories
Deployment modelIn-process database; Quack client-server protocolCloud, self-managed, or local
PlatformsWindows, macOS, and LinuxWeb, Windows, and Docker

Choose DuckDB if

  • Choose DuckDB if you need embedded SQL analytics inside an application.
  • Choose DuckDB if you want a free, MIT-licensed database.
  • Choose DuckDB if your workflow uses CSV, JSON, Parquet, or Iceberg.

Choose ClickHouse if

  • Choose ClickHouse if you need shared, server-based analytical queries.
  • Choose ClickHouse if you want managed cloud or self-managed deployment.
  • Choose ClickHouse if your stack benefits from its 100+ integrations.

02Pricing at real usage

DuckDB is free and MIT-licensed for personal and commercial use; no usage limits or paid plans are listed. ClickHouse Cloud has a 30-day free trial, then usage-based monthly billing in USD. Basic lists compute at $0.2181 per compute unit-hour and storage at $25.30 per TB-month, with up to 1 TB storage, 8–12 GiB memory, one availability zone, and daily backups retained for one day. Scale charges $0.2985 per compute unit-hour plus the same storage rate, with unlimited storage, configurable memory, and two or more availability zones. Enterprise lists $0.3903 per compute unit-hour, the same storage rate, and adds a 30-minute Severity 1 support response plus HIPAA and PCI compliance. Public egress adds $0.1152/GB; inter-region egress starts at $0.0312/GB. Your ClickHouse bill grows with compute hours, stored data, and applicable transfer.

03API, SDKs and integration

DuckDB is an in-process analytical SQL database, so an application can embed it rather than send every query to a separate database server. It offers native APIs for Python, Go, Java, Node.js, and Rust, plus ODBC and a command-line client. Its SQL is PostgreSQL-inspired, and its docs provide install paths for those clients. Extensions add functions and format support. DuckDB reads and writes CSV, JSON, Parquet, and Iceberg, including in object storage.

ClickHouse is a column-oriented SQL database available as ClickHouse Cloud, self-managed ClickHouse, or ClickHouse Local. Local queries files including CSV, TSV, and Parquet without a server. Its homepage lists 100+ integrations across ingestion, visualization, language clients, and other tools, but does not name languages in that count. Choose DuckDB for embedded analytics and app-level language APIs; choose ClickHouse for server-based real-time analytics and a broad integration catalog.

04Open source, self-hosting and lock-in

DuckDB is MIT-licensed, with personal and commercial use permitted. ClickHouse is open source, but its homepage does not state a licence; verify the project’s licence terms before redistribution. DuckDB can run in-process and is described as deployable from edge devices to servers. ClickHouse offers self-managed deployment alongside its hosted cloud service, and ClickHouse Local can query supported files without a server.

DuckDB explicitly reads and writes CSV, JSON, Parquet, and Iceberg, locally or in object storage. ClickHouse Local explicitly queries CSV, TSV, and Parquet files. Those formats help assess portability, but do not guarantee matching schemas, SQL behavior, or a low-effort migration. Before committing, check required export formats, table semantics, and cloud egress costs; ClickHouse lists charges for public and inter-region egress.

Questions people ask

Can DuckDB replace ClickHouse?

It can fit some of the same analytical SQL work, but the deployment models differ. DuckDB is designed to run in-process and work with local or object-storage files. ClickHouse offers a server database, ClickHouse Cloud, self-managed deployment, and a local file-querying option. Choose based on whether your application needs an embedded database or shared analytics infrastructure.

Is DuckDB or ClickHouse open source?

Both are described as open source. DuckDB is MIT-licensed, and its project permits personal and commercial use. ClickHouse’s homepage identifies it as open source but does not state a licence there. Check ClickHouse’s project licence terms if redistribution or licence obligations affect your deployment.

Is ClickHouse free to use?

ClickHouse Cloud offers a 30-day free trial, then bills monthly based on usage. The listed Basic rate is $0.2181 per compute unit-hour plus $25.30 per TB-month for storage. The open-source project can also be self-managed; the Cloud trial and its rates apply to the hosted service.

Can I query files without running a database server?

Yes. DuckDB runs in-process and reads and writes formats including CSV, JSON, Parquet, and Iceberg. ClickHouse Local queries files such as CSV, TSV, and Parquet without a server. Their documented format support differs, so check the specific formats and read/write operations your pipeline needs.