Flexibility
- Start in
defaultmode so teams can append JSON payloads without schema friction, then switch tostrictonce data shapes stabilise. - Use
dbx checkoutto spin up isolated domains (or delete them) and persist remote settings for replication. This keeps experiments, bounded contexts, and environments walled off. - Feed each read model only the slices it needs by tailoring plugin payload selectors (including the
extensions-onlymode for metadata-only fan-out) and overriding them ad hoc withdbx plugin replay --payload-mode ….
Data integrity
- Per-aggregate Merkle trees and deterministic snapshots keep proofs cheap to recompute and compare across nodes.
- Schemas use explicit column definitions with built-in types, formats, and validation rules (required, length, range, regex) so intent stays unambiguous.
- Toggle
dbx restrictbetween permissive and strict modes to match your environment without rewriting history. Auto-snapshots fire at configurable thresholds; create point-in-time snapshots on demand when you need a checkpoint.
Security
- Encrypt payloads, snapshots, and tokens at rest with the DEK; enforce Noise handshakes in transit so credentials never cross plaintext.
- Append-only storage plus Merkle roots make the log immutable and tamper-evident.
- Generate Ed25519 tokens per role with fine-grained scopes (TTL, write limits), rotate them regularly, and keep authentication passwordless by design.
Auditability
- Every aggregate keeps an append-only history plus deterministic snapshots for quick reads.
- Export proofs to auditors or partner teams without replaying production traffic; include Merkle roots with exported snapshots.
- Stream or plugin-replay events with precise payload modes to retrace every change, then use CLI helpers to archive, restore, and verify aggregate timelines.
Extensibility
- Build plugins that emit just the payload slices downstream systems expect, and let the queue absorb backpressure so writes stay fast.
- Extend schema rules, column types, transports, or plugin payload modes without stopping the daemon.
- Bridge EventDBX into existing buses, CDC pipelines, serverless workers, or ad hoc replays—plugins operate asynchronously and can be toggled per domain.