Hacker News new | ask | show | jobs
by fulafel 4475 days ago
SQL commit is not allowed to finish before the data is safely on disk (that's the D in ACID).
2 comments

That's assuming that the RDBMS can tell. The disks may lie:|
You should strive not to use such disks in your server. A machine reset won't power off the disks, though.
Or the CPU or the memory or the OS...
Thus the 's' in reisub?
The disk may lie. The 's' will get the OS to send everything out to the disk. Actually writing it to the platter (or flash part, or whatever) is at the disk's discretion.
It's at the disk's discretion as far as the laws of physics are concerned, but this would a severely broken disk prone to losing data and if it was a major server disk vendor, the vendor would take a pretty serious hit to its reputation.
Yes, but my point was that I could send data to an ACID compliant server, and kill it before the commit happened and data will be lost. Just trying to point out to the parent poster that sending is not enough, you need to wait for the commiting.