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

Reply via email to