HerdDB
maintenanceby Diennea · since 2016
JVM-embeddable distributed SQL database replicated with Apache BookKeeper and ZooKeeper.
maintenance. Last release 0.29.0 (March 2024); recent commits are build and dependency upkeep only.
Overview
HerdDB is a distributed SQL database written in Java by the Italian company Diennea. Each JVM can embed a node and read local data without a network hop, or run as a standalone server reached over JDBC. Internally it is a key-value store with a SQL layer planned by Apache Calcite; tables are grouped into tablespaces, and each tablespace has one leader and a set of replicas whose write-ahead log is replicated through Apache BookKeeper, with ZooKeeper handling metadata and leader election, so no shared storage is needed. Transactions use read-committed isolation and may span tables only within one tablespace. It is tuned for fast writes and primary-key access. Releases have slowed to occasional maintenance; 0.29.0 shipped in March 2024.
Strengths & trade-offs
Strengths
- +Runs embedded in the application JVM or as a cluster of servers
- +Replication on BookKeeper and ZooKeeper without shared storage
- +Standard JDBC and Calcite-planned SQL
- +Fast writes and primary-key lookups
Trade-offs
- −Read-committed isolation only; no serializable transactions
- −Transactions and subqueries limited to a single tablespace
- −Small community and slow release cadence
- −Requires operating ZooKeeper and BookKeeper for replication
Great for
- +Embedded replicated SQL store inside Java services
- +Metadata and configuration storage for JVM platforms
- +Write-heavy primary-key workloads
Think twice for
- −Analytical queries
- −Non-JVM applications
- −Workloads needing serializable isolation
Capabilities
Native or official first-party support · 4 of 25 tracked
Scale & consistency
- Comfortable data size
- Medium · ≤ 10 TB
- Horizontal scaling
- Manual
- Multi-region
- No
- Transactions
- Limited ACID
- Consistency
- Strong
- Schema
- Strict
- Architecture
- Embedded, Client server, Primary replica, Distributed
- Query languages
- SQL
Data is partitioned by tablespace, each led by one node with replicas; transactions cannot span tablespaces.
Deployment
Ecosystem
Alternatives to HerdDB
Fast pure-Java SQL engine for embedded, in-memory and test databases, with compatibility modes.
herddb vs h2 →Long-running pure-Java SQL database with strong SQL:2023 coverage, used embedded and in LibreOffice.
herddb vs hsqldb →Pure-Java embedded SQL database from the Cloudscape lineage, retired by Apache in 2025.
herddb vs apache-derby →Postgres-wire distributed SQL built to survive node, zone and region failures with serializable transactions.
herddb vs cockroachdb →A distributed, memory-first SQL database and compute grid; Ignite 3 rebuilt it around Raft and Calcite.
herddb vs apache-ignite →Pure-Go LSM key-value store that separates keys from values to cut write amplification.
herddb vs badger →HerdDB FAQ
What is HerdDB?
HerdDB is a relational database by Diennea, first released in 2016. HerdDB is a distributed SQL database written in Java by the Italian company Diennea. Each JVM can embed a node and read local data without a network hop, or run as a standalone server reached over JDBC. Internally it is a key-value store with a SQL layer planned by Apache Calcite; tables are grouped into tablespaces, and each tablespace has one leader and a set of replicas whose write-ahead log is replicated through Apache BookKeeper, with ZooKeeper handling metadata and leader election, so no shared storage is needed. Transactions use read-committed isolation and may span tables only within one tablespace. It is tuned for fast writes and primary-key access. Releases have slowed to occasional maintenance; 0.29.0 shipped in March 2024.
Is HerdDB open source?
Yes. HerdDB is open source. License: Apache License 2.0.
Does HerdDB support ACID transactions?
Partly. HerdDB offers limited ACID guarantees (for example, single-record or single-partition transactions), with strong consistency.
Does HerdDB scale horizontally?
HerdDB has no built-in sharding; scaling out means partitioning data in your application. It is comfortable at medium scale (≤ 10 TB).
How can I run HerdDB?
You can self-host it and embed it in your application.
What is HerdDB best for?
HerdDB is a strong fit for embedded replicated SQL store inside Java services; metadata and configuration storage for JVM platforms; and write-heavy primary-key workloads. Think twice for analytical queries.
What are the best alternatives to HerdDB?
Common alternatives to HerdDB include H2 Database, HyperSQL (HSQLDB), Apache Derby, CockroachDB and Apache Ignite. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
Is HerdDB still maintained?
HerdDB is in maintenance mode. Last release 0.29.0 (March 2024); recent commits are build and dependency upkeep only.
How popular is HerdDB?
HerdDB ranks #553 of 844 databases on the WhichDB Score (1.4/100), and #170 among relational databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.