Skip to content

Notes (JWN)

norton edited this page Aug 28, 2012 · 1 revision

Notes, comments, and feedback (in no particular order).

leveldb partial commits (2012/08/28)
  • For a backend such as leveldb, I’m concerned about how to protect against partial commits if there is a crash in the middle of commit processing for multiple updates on the table and it’s indexes. This seems like a real killer issue (depending on the application).

ets transaction logs (2012/08/28)
  • For the ets backend with transaction logging enabled, I’m concerned about using Erlang’s file i/o server. The Erlang file i/o server can become a performance bottleneck and a common "shared" point of failure. For example, a transaction log on one filesystem can block another transaction log on another filesystem. This isn’t really a kvdb-specific issue but one of Erlang/OTP’s implementation.

transaction backend (2012/08/28)
  • The kvdb transaction store is hard-coded as an ets backend. I don’t have a strong use case right now but it might be nice to make this configurable.

git repository layout (2012/08/28)
  • I’d prefer a change from a single git repository (i.e. kvdb) to multiple ones such as kvdb-core, kvdb-backend-sqlite3, kvdb-backend-eleveldb, etc. and a top-level "umbrella" git repository (i.e. kvdb) with the others as dependencies.

documentation and tests (2012/08/28)
  • more documentation and more tests are always helpful =)

Clone this wiki locally