31 ms·
Good point! I'm not sure if there are any databases that do your 'with a lot of care' option, but for anyone curious about what that might look like in practic
by neal 2y ago
Good point!
I'm not sure if there are any databases that do your 'with a lot of care' option, but for anyone curious about what that might look like in practice there are file systems that forgo write-ahead logging and maintain metadata consistency using techniques like soft updates[0] or copy-on-write up to a root[1].
[0]: https://www.usenix.org/conference/1999-usenix-annual-technical-conference/soft-updates-technique-eliminating-most https://www.usenix.org/conference/1999-usenix-annual-technic...
[1]: https://www.cs.hmc.edu/~rhodes/courses/cs134/fa20/readings/The%20Zettabyte%20File%20System.pdf https://www.cs.hmc.edu/~rhodes/courses/cs134/fa20/readings/T... (yes, ZFS can be configured to use a WAL too for durability)
- refset 2y ago> I'm not sure if there are any databases that do your 'with a lot of care' option LMDB springs to mind. > LMDB was designed to resist data loss in the face of system and application crashes. Its copy-on-write approach never overwrites currently-in-use data. Avoiding overwrites means the structure on disk/storage is always valid, so application or system crashes can never leave the database in a corrupted state. https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database https://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Databa...
- philkrylov 2y ago> yes, ZFS can be configured to use a WAL too for durability ZFS always uses ZIL for sync writes. You can optionally set `sync=disabled` for a dataset to switch it off. I would not describe it as "can be configured to use WAL".