[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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
durability.

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/


Reply to: