|
|
|
|
|
by lichtenberger
969 days ago
|
|
I'm working on an append-only (immutable) (bi)temporal DBS[1] in my spare time, which transforms CRUD operations into an event store, automatically providing an audit log for each stored node, while the nodes are stored with immutable node-IDs, which never change. As the contents stored are based on a custom binary JSON format also a rolling hash can optionally be built, to check if a whole subtree has changed or not. You can also add commit comments, revert to a specific revision (while preserving all revisions in-between)... The system uses persistent index data structures to share unchanged pages between revisions. The intermittant snapshots are omitted. Rather the snapshot is spread over several revisions, applying a sliding snapshot algorithm on the data pages (thus, avoiding write peaks, while at max a predefined number of page fragments has to be read in parallel to reconstruct a page in-memory). [1] https://github.com/sirixdb/sirix | https://sirix.io | https://sirix.io/docs/concepts.html |
|