At 22:41 15/11/2016, you wrote:
So if you're truly worried about flush-to-disk what do you do
? Solution 1 is to buy hard disks rated for servers -- sometimes
called "enterprise-class hard drives" -- and to set the DIP switches
to tell them they're being used on a server. Those things are
intended for use in servers, and ACID can be important to a server, so
they support it properly and do not lie.
It's even both best and worse than that.
I enjoy running an old and ugly diy machine with 8 SAS HP disks (15k
rpm) arranged in RAID6 behind a serious hardware controler having a
good share of battery-backed RAM. Those enterprise-class disks don't
have any switch and will lie to you and the OS as much as they can if
you let them do and don't ask for acknowledgement that each write is
final, but the key piece is the Areca controler which actually manages
the RAID array and knows when/if some write has actually landed on
surface. Should the power supply vanish, it keeps a track of what still
needs to be written and will silently update the disks when power comes
back, even before the OS is loaded.
So no, even very expensive hard disks themselves don't take any step to
avoid lying to you/OS if you/OS don't care over "details", but the
controler (if a serious one) will fill the gap and insure that
everything is fine.
To be honest I'm almost certain that there can exist extreme situations
where, for instance, the RAID array is in tatters (e.g. more than 2 of
6 disks simultaneously failing) and won't accept writes while the
controler battery is going dangerously low.
But if your needs are thusly mission critical you probably can afford
enough redundant sophisticated hardware to make the probability of a
disaster (e.g. a one-bit flip) as low as required.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users