Immutable Revisions
Every edit creates an immutable snapshot that can never be overwritten.
Overview
Entitybase follows an append-only model where every edit creates a new revision stored in MariaDB. Once written, a revision can never be modified or deleted — it's permanent.
How It Works
- When you create or update an entity, a new revision is created
- The revision is stored as an immutable object in MariaDB
- A "head pointer" in Vitess points to the latest revision
- All previous revisions remain accessible
Benefits
- Perfect audit trail — Who changed what, when
- Easy rollbacks — Just point to an old revision
- No data loss — Old versions are never deleted
- Event sourcing — Replay events to rebuild state
- Conflict resolution — Compare revisions without locking
Revision Access
| Endpoint | Description |
|---|---|
GET /entities/{type}/{id}/revisions |
List all revisions |
GET /entities/{type}/{id}/revisions/{rev_id} |
Get specific revision |
GET /entities/{type}/{id}/revisions/latest |
Get latest revision |
Comparison
graph LR
subgraph Traditional
A[Q1 current] -->|overwrites| B[(DB)]
end
subgraph Entitybase
C[Rev 1: Q1] -->|append| D[(MariaDB)]
E[Rev 2: Q1] -->|append| D
F[Rev 3: Q1] -->|append| D
end
See also: Architecture