Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Append-only B+tree Erlang Term Storage (pure disk based)
Erlang
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src
.gitignore
Makefile
README
rebar
rebar.config

README

N.B. This is work in progress, and doesn't actually work.

Append-only B+tree Erlang Term Storage (pure disk based)

abets is intended as a complement to dets, the standard Erlang term
disk storage utility. It aims to rectify some bad properties of dets;

1) no ordered set semantics
2) no graceful handling of force closed files
3) 2 GB limit per dets file
4) it's not disk-only (it will use some RAM)
5) dets has (as of 2010) at least one data-loss bug

This can be achieved by different trade-offs;

1) dets is normally faster
2) dets has less disk space overhead

Just like Erlang itself, abets will never modify data. But data can
become unreferenced, and subsequently garbage collected.

So, if data integrity, crash resiliency, +2GB tables or ordered set
semantics are more important than CPU time and disk space, abets will
be a win. Alas, dets also has the advantage of +10 year field testing,
while abets is partly vaporware.

abets is inspired by the eminent CouchDB (couchdb.apache.org), but
aims to be a more generic implementation of an Append-only B+tree data
structure.
Something went wrong with that request. Please try again.