vs

DuckDB vs HyperSQL (HSQLDB)

DuckDB: In-process columnar SQL database: the SQLite of analytics, running inside your app or notebook. HyperSQL (HSQLDB): Long-running pure-Java SQL database with strong SQL:2023 coverage, used embedded and in LibreOffice.

key differences

  • DuckDB is primarily a columnar / OLAP database; HyperSQL (HSQLDB) is relational.
  • DuckDB is built for larger datasets (≤ 10 TB) than HyperSQL (HSQLDB) (≤ 100 GB).
  • Only DuckDB has full-text search, vector search, geospatial, json, columnar storage.
  • Only HyperSQL (HSQLDB) has triggers, stored procedures, role-based access, time travel.

choose duckdb for

  • +Local data analysis in notebooks
  • +ETL and data-engineering pipelines on files
  • +Embedded analytics inside applications
  • +Querying data lakes on S3 without a cluster

best at · OLAP, Embedded, Lakehouse

choose hsqldb for

  • +Embedded storage in Java applications
  • +Unit tests needing strict SQL semantics
  • +LibreOffice Base documents
  • +Teaching SQL standard features

best at · Embedded, OLTP

overview
Primary model
Columnar / OLAP
Relational
Also supports
Relational, Document, Spatial, Vector
–
Type
Database engine
Database engine
Status
Active
Active
Developer
DuckDB Foundation / DuckDB Labs
The hsql Development Group
First release
2019
2001
Latest version
2.0.0 (Oct 21, 2026)
2.7.4 (Oct 25, 2024)
License
Open source (permissive)MIT License
Open source (permissive)HSQLDB License (BSD-style)
Free tier
✓
✓
popularity
WhichDB Score
63.7
9.4
Rank
#13
#312
GitHub stars
42.6K
–
Stack Overflow questions
501
2.5K
scale & guarantees
Comfortable data size
Medium (≤ 10 TB)
Small (≤ 100 GB)
Horizontal scaling
None
None
Multi-region
None
None
ACID
Full
Full
Consistency
Strong
Strong
Schema
Strict
Strict
Architecture
Embedded, Single node, In memory
Embedded, In memory, Client server, Single node
deployment
Self-hosted
✓
✓
Vendor-managed cloud
—
—
Serverless
—
—
Embedded
✓
✓
Edge
—
—
Clouds
–
–
capabilities
Transactions
✓
✓
Joins
✓
✓
Secondary indexes
✓
✓
Full-text search
✓
—
Vector search
✓
—
Geospatial
✓
—
JSON
✓
—
Change data capture
—
—
Triggers
—
✓
Stored procedures
—
✓
Materialized views
—
—
TTL / expiry
—
—
Pub/Sub
—
—
Columnar storage
✓
—
In-memory
✓
✓
Durable persistence
✓
✓
Compression
✓
—
Encryption at rest
✓
✓
Role-based access
—
✓
Time travel
—
✓
Branching
—
—
Online schema changes
—
—
Streaming ingest
—
—
Offline sync
—
—
Runs in WebAssembly
✓
—
interfaces
Query languages
SQL (PostgreSQL-like dialect)
SQL
Client languages
Python, R, Java, JavaScript, Go, Rust, C, Swift
Java
Best for
OLAP, Embedded, Lakehouse, Warehouse
Embedded, OLTP

DuckDB vs HyperSQL (HSQLDB): FAQ

What is the difference between DuckDB and HyperSQL (HSQLDB)?

DuckDB: In-process columnar SQL database: the SQLite of analytics, running inside your app or notebook. HyperSQL (HSQLDB): Long-running pure-Java SQL database with strong SQL:2023 coverage, used embedded and in LibreOffice. DuckDB is primarily a columnar / OLAP database; HyperSQL (HSQLDB) is relational. DuckDB is built for larger datasets (≤ 10 TB) than HyperSQL (HSQLDB) (≤ 100 GB). Only DuckDB has full-text search, vector search, geospatial, json, columnar storage.

When should I choose DuckDB over HyperSQL (HSQLDB)?

Choose DuckDB for local data analysis in notebooks; ETL and data-engineering pipelines on files; and embedded analytics inside applications. Choose HyperSQL (HSQLDB) for embedded storage in Java applications, unit tests needing strict SQL semantics and LibreOffice Base documents.

Is DuckDB or HyperSQL (HSQLDB) more popular?

DuckDB ranks #13 on the WhichDB Score (63.7/100) and HyperSQL (HSQLDB) ranks #312 (9.4/100). Popularity is not fit: check the requirements that matter for your project.

Are DuckDB and HyperSQL (HSQLDB) open source?

Yes. DuckDB is open source. License: MIT License. Yes. HyperSQL (HSQLDB) is open source. License: HSQLDB License (BSD-style).