data-pile 0.3.0

A simple and fast append-only data store
Documentation

pile - a simple and fast append-only data store

Crates.io codecov

Design goals

  • Efficient adding of big chunks of data.
  • A user should be able to copy the storage data (for example, over the network) while still being able to use the database for both reads and writes.
  • The storage should have a minimal dependency footprint.

Usage guide

Example

use data_pile::Database;
let db = Database::new("./pile").unwrap();
let value = b"some data";
db.put(&value).unwrap();

Transferring the data

  • Get the raw data by using Database::snapshot().
  • Copy it somewhere.
  • Create the root direcotry of the data store, create a file named data in it and add all snapshot data into it.
  • Just start using the database: it will verify correctness and rebuild all indexes.

Notes

Values are accessible only by their sequential numbers. You will need an external index if you want any other kind of keys.