RocheDB v0.6.0
RocheDB v0.6.0 is a technical-preview release focused on topology remapping
foundations, locality validation, and easier operational configuration.
Release:
https://github.com/puffball1567/rochedb/releases/tag/v0.6.0
RocheDB is still not presented as a production replacement for Redis,
PostgreSQL, MongoDB, Apache Arrow, or a dedicated vector database. The stronger
claim in this release is narrower: RocheDB now has more measurable support for
preserving logical query results while exercising locality-oriented layouts,
and it has a clearer foundation for future topology changes.
Main Changes
- Added typed
RocheFilterBuilderhelpers for safer read filters without
string-concatenated JSON. - Added topology remapping primitives:
- explicit arc tables
- weighted arcs
- deterministic virtual arcs
- topology validation
remapFraction
- Added
docs/topology-remapping.mdto describe the boundary between remapping
primitives and future online rebalance. - Added locality validation workloads for random, delete-heavy, backfill-heavy,
hot/cold, and interleaved write patterns. - Added locality invariant checks: the same logical ring query must return the
same ID/payload set before and after compaction while disk-span and candidate
metrics are reported. - Added CLI connection config loading with
--config=FILEandROCHE_CONFIG. - Added
docs/use-case-recipes.mdwith application recipes for list/detail,
membership, inventory locks, webhook idempotency, SaaS tenant isolation,
stellar neighborhoods, and RAG corpus layout.
Why This Release Matters
RocheDB's thesis is that meaningful placement should reduce unnecessary reads,
transfers, memory pressure, and downstream AI/RAG work. v0.6.0 strengthens the
engineering around that thesis in two ways.
First, locality is now easier to test as an invariant rather than only a
narrative. The demo workloads mutate, delete, backfill, compact, and re-read
the same logical rings, then report whether the result set stayed stable and
how the physical layout metrics changed.
Second, topology remapping now has explicit primitives. RocheDB still does not
perform online dynamic membership or live rebalance in this release, but the
core can model ownership with arc tables and compare remapping behavior without
falling back to naive mod nNodes reasoning.
Example
Connection config:
{
"peers": ["127.0.0.1:17301"],
"galaxy": "docs",
"user": "alice",
"password": "secret",
"tls": {
"enabled": true,
"ca": "certs/ca.pem",
"cert": "certs/client.pem",
"key": "certs/client-key.pem"
}
}Use it from the CLI:
roche --config=roche.json health
ROCHE_CONFIG=roche.json roche put \
--ring=docs/japan \
--payload='{"title":"Hello","status":"draft"}' \
--codec=json
ROCHE_CONFIG=roche.json roche get \
--ring=docs/japan \
--filter='{"status":"draft"}' \
--selection='{ title status }'Run locality validation:
examples/locality_layout_demo.shThe demo prints invariant and layout metrics such as:
invariant ring=docs/topic/7 sameSet=true beforeCandidates=... afterCandidates=...
Documentation
New and updated documents:
docs/topology-remapping.mddocs/use-case-recipes.mddocs/data-locality.mddocs/config-reference.mddocs/cli-reference.mddocs/test-coverage.mddocs/rochedb-status.md
Verification
The local verification pass included:
nim check examples/locality_layout_demo.nimnim c -r --nimcache:/tmp/nimcache_roche_tstore tests/tstore.nimscripts/test_core.shscripts/cli_crud_smoke.shscripts/test_all_smoke.shexamples/locality_layout_demo.shworkloads for random, delete-heavy,
backfill-heavy, hot/cold, and interleaved cases during the feature branch
verification cyclegit diff --check
Known Boundaries
- RocheDB remains a technical preview / research OSS.
- Online dynamic membership and live rebalance are still planned, not complete.
- Cluster transaction coordinator redundancy is still planned.
- Universe sync remains a durable eventual-convergence primitive, not a
consensus or quorum system. - The next hardening track should focus on the audit items around C ABI failure
handling, crash-safe compact/backup/restore, WAL integrity, sync ack safety,
data-directory locking, and server resource limits.