Berkeley DB assumes that page writes are atomic, which doesn't match
reality (especially if the file system block size is smaller than the
page size). Other logging systems offer an option to write a full
copy of a modified page to the log the first time it is changed after
a checkpoint. I don't think there is an option to do this in Berkeley
DB, but I wonder how hard it would be to add it.
I know that this would considerably increase logging I/O for some
workloads, but I'd like the extra reliability it provides.