Boost logo

Boost :

Subject: Re: [boost] NuDB: A fast key/value insert-only database for SSD drives in C++11
From: Asbjørn (lordcrc_at_[hidden])
Date: 2017-03-29 18:54:01


On 29.03.2017 13:07, Niall Douglas via Boost wrote:
> On 29/03/2017 10:13, Asbjørn via Boost wrote:
>> On 29.03.2017 08:18, Niall Douglas via Boost wrote:
>>> Whatever is lost is lost, the *key* feature is that
>>> damaged data doesn't cause further data loss.
>>
>> I'm struggling to see how you can guarantee that without _any_
>> guarantees from the OS or hardware.
>
> The lack of guarantees only refers to post-power-loss data integrity.

But that's not what you wrote. You said:

"The point I am trying to make is that NuDB's guarantees need to NOT
depend on the OS, filesystem and hardware. Otherwise they are not
valuable guarantees."

Surely any post-power-loss integrity guarantees are intimately related to
between-power-loss guarantees as the data is being written in the "between"
state right until the power goes.

As an extreme example, if the OS does not guarantee your data will be written
unmodified in the "between-power-loss" state, that is, it may write random data
instead, then that directly affects the post-power-loss integrity. How could
NuDB code around this?

Surely at some point a program/library like NuDB must rely on _something_ from
the OS, filesystem and hardware in order to claim anything about post-power-loss
integrity of its data?

Regards
- Asbjørn


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