an O_SYNC write” § Write-behind, caching, background compaction/migration can all lead to hidden errors § fsync(2) can and should return errors, but misses some § See https://wiki.postgresql.org/wiki/Fsync_Errors § PostgreSQL: Caring about durability since 1986 § “commit intervals”?
computer crashed, you just waited for repair § Now you remove or re-image the server – with the drives § Local durability is really hard, but no longer adequate
choose between Availability and Consistency. § Your users will hate your choice. § Availability can be improved by brute force and $$$ - to reduce partitioning. § Consistency requires consensus.
to where the data “really lives” § FS writes to journal, then to where the data “really lives” § Device writes to log, then to where the data “really lives” § What if “the truth” “really lived” in the log? § The other places become read caches
cache of the latest value for each key in a stream” – P. Helland § Logs are great for streaming data § What if the log itself is distributed and allows many writers and readers?
service optimized for real-time workloads” § Guarantees: § “If an entry has been acknowledged, it must be readable” § “If an entry has been read once, it must always be readable”