obigstore
Client/server + embeddable semi-structured database.
obigstore is a database server + client library and associated tools. It exposes a multidimensional BigTable-like data model built on top of the Google LevelDB library, inheriting its fundamental strengths, such as fast random writes or control over the physical data layout. It can be used in a client/server setting or as an embedded database. More information can be found at obigstore.forge.ocamlcore.org.
obigstore's salient features include:
- strong data durability guarantees:
- fully fsync'ed writes with group commit
- data integrity ensured with CRCs at the protocol level
- synchronous and asynchronous replication
- online backup
- rich semi-structured data model:
- atomic transactions (both read-committed and repeatable-read isolation levels)
- optimistic and pessimistic concurrency control
- asynchronous notifications
- limited support for complex documents (BSON serialized)
- support for composite keys (REPL and client lib)
- performance:
- fast random writes
- efficient range queries thanks to spatial locality
- cross-record redundancy reduction at the page level (snappy compression)
- fast recovery (independent of dataset size)
obigstore currently includes:
- the standalone database server
- the embeddable database library
- the client library
- a friendly REPL for interactive data manipulation
- DB dump/restore tools
- a number of benchmarking tools
Limitations
- transactions must fit in memory
- sharding on key ranges is not built-in at this point
- no automatic failover yet
License | LGPL + static linking exception |
---|---|
Homepage | https://github.com/mfp/obigstore |
Maintainer | mfp@acm.org |
Events
Jan 8, 2014
Published version 0.9.1