>Another way to bust your data is to rely on RAID 5 or 6 or similar, at
>least if the software does not take special care.
>
>When those mechanisms, updating a block always results in at least 2 disk
>writes: The data block and the checksum block. There's a small time
>window where only one of those blocks physically reached the disk. Now, when 
>the
>power fails during said time window, and the third disk fails, it's
>content will be restored using the new data block and the old checksum (or vice
>versa), leaving your data garbled.

Generally this is only an issue with fake-RAID (aka software RAID).  Hardware 
RAID will issue the writes to update the stripe in parallel across all spindles 
which need to be updated.  Moreover, although writes to a hardware RAID device 
are signaled complete once the data has been written into the buffer on the 
RAID controller, the hardware will take special precautions to ensure that any 
write which makes it into the hardware buffers is properly written to disk even 
if there is a power failure before the scatter-write-with-verify to the 
physical media has returned completion-without-error for all spindles.  You 
will only lose data if the power is out for longer than the battery on the 
hardware controller can maintain the buffer -- and the better classes of 
hardware raid contains NVRAM to which "dirty" stripes are flushed on power loss 
so that they can written to the physical spindles even if the power is not 
restored until long after the buffer RAM battery has lost power.  

In other words, you get what you pay for.




_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to