aatree icon indicating copy to clipboard operation
aatree copied to clipboard

Heifer Database

Open laforge49 opened this issue 9 years ago • 1 comments

Heifer is a Copy-On-Write database like Yearling, but with the addition of a transaction log. Updates then must be serializable. It is also time to add a recovery mechanism so that processing can continue after an update throws an exception without having to reopen the database or reread the root data. Updates then can be batched for greater efficiency.

laforge49 avatar Nov 14 '15 21:11 laforge49

A pipeline using async looks good. First stage will group updates into batches and log them. Once the log is sync'ed, they should be passed to the second stage which does the db update.

Initially we can use a null-logger and later provide something more reasonable. The logger then should not be a part of heifer.

Also, the root block should contain the current log file name and position. This can be used for quickly updating a backup with just the new transactions.

laforge49 avatar Nov 17 '15 00:11 laforge49