Small. Fast. Reliable.
Choose any three.
*** 53,58 ****
  BDB is probably much faster if you code it carefully.  But it is much more
  difficult to use and considerably less flexible.
  
! _:: On the other hand BDB has very fine grained locking (although it's not very well documented), while SQLite currently has only database-level locking (a database is stored in a single file).
  
  *: SqliteVersusFirebird - SQLite versus Embedded Firebird SQL server
--- 53,63 ----
  BDB is probably much faster if you code it carefully.  But it is much more
  difficult to use and considerably less flexible.
  
! _:: On the other hand BDB has very fine grained locking (although it's not very well documented), while SQLite currently has only database-level locking.
! -- fine grain locking is important for enterprise database engines, but much
! less so for embedded databases.  In SQLite, a writer gets a lock, does an
! update, and releases the lock all in a few milliseconds.  Other readers have
! to wait a few milliseconds to access the database, but is that really ever
! a serious problem?
  
  *: SqliteVersusFirebird - SQLite versus Embedded Firebird SQL server