Boost logo

Boost :

Subject: Re: [boost] NuDB: A fast key/value insert-only database for SSD drives in C++11
From: Peter Dimov (lists_at_[hidden])
Date: 2017-03-29 16:19:07


Niall Douglas wrote:

> Consistency is time invariant. If two transactions each affect totally
> unrelated data, if B was committed after A in time originally then during
> recovery if B was recoverable but A was not, B is indeed recovered without
> A.

You can define it to be time-invariant if you assume that all invariants of
the data are contained in the database and none are external to it; or, in
other words, that the state "B without A" can never be considered
inconsistent by the outside world if it's not described as inconsistent in
the invariants the database knows about. Or in yet other words, you assume
that the database knows which data are related and which unrelated, and that
none of this knowledge is external to it.

We could argue whether this definition is sensible or not, but it doesn't
even matter in this context. NuDB doesn't contain any such knowledge, as far
as I can see, and therefore can't assume anything about the unrelatedness of
A and B. Whether B references A is not known to it, so it must assume that
it does.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk