4 ms·
It's definitely not an implementation detail. If the RAM fails somehow, it has lied about that data being durably stored. But yes, it's absolutely possible fo
by Groxx 7y ago
It's definitely not an implementation detail. If the RAM fails somehow, it has lied about that data being durably stored.
But yes, it's absolutely possible for all of this to be vertically integrated, and agreed that it's ridiculous that it hasn't happened. Most systems shouldn't care, but the ones that do care really really care.
- deleted 7y ago[deleted]
- zamadatix 7y agoIf the disk fails somehow it has lied as well. There is no such thing as guaranteed anything, you can use parity and striping to better your chances but that's not storage media dependent.
- programd 7y agoDisks, both spinning and SSD, lie about data durability more often then you would think. This is particularly a problem with consumer disks and write-back caches. Postgres has a good state of play writeup on reliably writing data to storage in their "Reliability and the Write-Ahead Log" documentation [1]. My rule of thumb is that if I want serious reliability I make sure my data winds up on three different pieces of hardware and includes CRC codes. So, basically ZFS or some cloud/cluster equivalent like S3. On the other hand, for day to day work on your dev machine, the drives are so crazy reliable that you just don't worry about it. Which, of course, can bite you if you translate your day to day experience to production at scale. Everything breaks at scale. [1] https://www.postgresql.org/docs/devel/wal-reliability.html https://www.postgresql.org/docs/devel/wal-reliability.html
- ecnahc515 7y agoWe need a "falsehoods programmers believe about disk reliability".
- erik_seaberg 7y ago> three different pieces of hardware This. Data is real when it has been acked by a quorum with independent power. Three is because two doesn't give you enough slack to maintain it.