This is a fantastic looking project. I actually started writing my own append-only, copy-on-write B+Tree implementation in straight C before I saw this.
I see that this project is "deprecated". Why has it been deprecated and what has it been deprecated by?
I want an append-only B+Tree with ACID semantics written in C for several reasons:
Firstly, the small footprint. The minimal begin
, get
, set
, iterate
, commit
and rollback
functions will likely be smaller than alternatives, such as SQLite (despite being a fantastic product).
Secondly, portability. I'd like a library that can be used on Linux, BSD, Windows, iOS and Android. Straight C is the best way to allow this.
Thirdly, ACID transactions allow a manual implementation of secondary indexes.
Fourthly, append-only (despite providing MVCC capabilities) also allows quick replication: quickly downloading the latest changes (from the end of the file) not only makes backups quicker, it also allows you to more quickly download the "production database" onto your development machine to diagnose issues.
I sincerely hope this project can be made active again. I look forward to hearing from you.