3 ms·
> Durability is the guarantee that data can be accessed after a failure. It seems like this should be very simple: either your system provides durable data stor
by qwerty456127 6y ago
> Durability is the guarantee that data can be accessed after a failure. It seems like this should be very simple: either your system provides durable data storage, or it does not. However, durability is not a binary yes/no property, and instead should be defined as the kinds of failures you want your data to survive. Since there is usually some performance penalty for durability, many systems provide a way for only "important" writes to be durable, while "normal" writes will eventually be durable, with no specific guarantee about when.
I believe we should return to dual-disk systems with separate disk/flash drive dedicated for executable code (OS+apps+swap) and for user data storage. And this can be especially easy now as NVMe drives and micro/SD cards can be so small and low-power.
Performance is very important for the drive where you load your executable from and where you put your swap. The speed of this disk actually defines the user experience. At the same time it rarely is a serious problem if it fails - you can just replace it and re-install everything. The user data (like documents, pictures, multimedia files, source codes etc.) storage usually doesn't really need to be that fast to access but it really should be durable as its failure often means loss of some unique valuable data which is a result of work expensive or impossible to repeat in required time.