Re: Berkeley DB 6.0 license change to AGPLv3
Florian Weimer wrote:
* Howard Chu:
We can provide plenty more documentation on LMDB performance and
reliability if desired.
Can you cope with incompletely written pages (e.g., only the first 512
bytes of a page is written) or write reordering between fsyncs?
Berkeley DB doesn't deal with torn writes, either, but it can deal
with write reordering. The latter is what makes the checkpoints so
expensive, but I don't think there's a way around that. You can
spread out the writes (PostgreSQL tries to do that, but it is not
entirely successful because of kernel API limitations), but then you
risk doing additional writes which are not strictly required for
We require that fsync() (actually fdatasync()) doesn't lie. Data pages can be
written in any order, as long as all outstanding data pages are actually
written by the time fsync returns. Given this constraint, you can pull the
power on a drive and the DB will still be fine.
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/