One bucket per entity, on the engine that fits it: a queue for each user, a stack for each post, a priority queue for each job list.
Claims ledger
Every sentence this site asserts, with its source. This is the same file the build's checker reads: a claim whose evidence stops resolving fails the build, and a claim with no evidence cannot be added at all.
How to read this
- Built — true of the code in the commit this site was built from.
- Planned — not built. These appear on the roadmap and nowhere else; the build fails if one reaches a page in the present tense.
- Off by default — the feature exists but ships disabled, and the claim may not be rendered without saying so.
- But: — the caveat. It is part of the claim rather than a footnote, and the two are one component.
Claims that are written but blocked — a measurement not yet taken, a feature not yet built — are in the manifest with their blocker and are deliberately absent from this page. They render nowhere until the blocker closes.
Built
hoardDB is a distributed database: six store engines on a consistent hash ring, with TLS and authentication on from the first start.
The database is one binary. There is no sidecar and no separate indexer process.
The CLI is a second binary, and it is a client rather than a component of the database.
hoardDB-server starts with no arguments and no configuration file.
On first start it generates a self-signed TLS keypair and serves over TLS.
The certificate is self-signed: a first client connection trusts it on first use and records its fingerprint. It is not a CA-issued certificate.
Authentication is always required. There is no flag that turns it off.
The CLI's -insecure flag is a client-side TLS verification bypass. It is not a server authentication switch, and there is no server-side equivalent.
A root credential is generated on the first start and written to ./data/root.password at mode 0600.
Passwords are hashed with Argon2id.
Six store engines: hash, b-tree, FIFO, LIFO, heap and blob. The engine is chosen when the bucket is created.
An engine cannot be changed after the bucket is created, and indexes are declared at creation time.
Placement is a consistent hash ring keyed by xxHash64. Membership is declarative — there are no elections and no arbiters.
No elections is the same fact as no automatic promotion: losing a node needs an operator.
Replication is in the binary and free: replication factor, write-ahead log, and a write concern of one, majority or all.
hoardDB never promotes or removes a node automatically. Losing a node needs an operator. Replication is off until a replication factor above one is configured.
Audit logging is in the server and free.
It is off by default — turn it on in the configuration.
Users, roles and per-database grants are persisted and enforced.
A role change applies at the next authentication, not to a connection that is already open.
dump and restore write ordinary BSON that other tools can read.
Blob payloads and user accounts are not included in a dump.
hoardDB is not MongoDB wire-compatible and does not aim to be. HQL is inspired by MongoDB's syntax; it is a different language.
hoardDB is pre-1.0. Expect breaking changes.
The documentation on this site is the documentation in the repository. There is no second copy.
Free to self-host, including commercially and in production.
The one thing the licence does not grant is offering hoardDB itself as a database service to third parties. For that, talk to Boeger IT Sh.p.K, Tirana, Albania.
Client libraries live under clients/ and are Apache-2.0, so a driver you link into your own program carries no usage restriction.
This is a statement about the licence of a directory. clients/ holds a LICENSE and nothing else today; no client library has shipped.
The Business Source License is not an Open Source licence, and it says so itself. The Licensed Work converts to the Apache License 2.0 on the Change Date, or on the fourth anniversary of a version's first public distribution, whichever comes first.
Source-available is not the same as open source. Developers check this, so the site states it rather than leaving it to be discovered.
Each engine is a different way to read: hash by key, b-tree in key order, FIFO oldest first, LIFO newest first, heap by priority, blob as bytes.
The unit is the small bucket: one per user, one per post, one per job list. The load is in how many buckets there are, not in how large any one of them is.
Each bucket opens its own storage instance, and how many buckets one node can hold has not been measured. No figure appears on this site until it has.
Building from source is the only install path today; there are no release binaries. The repository is not public yet, so there is nothing to clone.
MongoDB's own reference for mongod says --noauth is currently the default.
MongoDB's free self-managed search runs as a separate mongot process.
Encryption at rest and auditing are MongoDB Enterprise features.
MongoDB's multi-document transactions require a replica set or a sharded cluster; a standalone rejects them.
Planned
Listed here with the same evidence discipline. Every one is in the future tense, on this page and on the roadmap only.
Encryption at rest is not built. It is planned in four stages, and none of them has landed.
Until it lands, treat the data directory as plaintext on disk. The users.json file is sealed separately and that is not encryption at rest for your data.
Client libraries are planned for after 1.0. None has shipped, and this site carries no code sample in any language other than HQL.
Loading another database's BSON dump in one command is not built. hoardDB's own dump and restore cover backup and recovery of hoardDB buckets, and migrating off MongoDB is a different verb that does not exist yet. The plain-file import is committed before 1.0; analysing a dump to recommend store types comes later.
Server-side grouping and multi-document atomicity are not planned for 1.0.
A published benchmark is planned. There is no head-to-head measurement in the repository today, so this site publishes no performance number at all.
Coming soon! We'll publish the source when hoardDB hits v1.0.
The repository is not public yet: the history is being prepared for publication first, so until it is there is nothing to clone.