sanddb

AuthorRobert Toth
LicenseMIT
Homepagehttps://github.com/StrykerKKD/SandDB
Issue Trackerhttps://github.com/StrykerKKD/SandDB/issues
Maintainerkkdstryker@gmail.com
Dependencies
&atdgen>= 1.12.0
base>= v0.11.0
jbuilder
lwt>= 3.3.0
uuidm>= 0.9.6
Availableocaml-version >= "4.04.2"
PublishedMay 1, 2018
Source [http] https://github.com/StrykerKKD/SandDB/archive/0.1.tar.gz
f2c4f595965f941367cc6987bb20f167
StatisticsNot installed in the last month.
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/sanddb/sanddb.0.1/opam

A simple immutable database for the masses

SandDB is a simple immutable database, which is also:

  • Simple: It only does one thing, which is persisting data in a file.
  • Easy to use: SandDB's API is extremely small, so you only need to know few functions to use it.
  • Type safe: Every common dangerous operation (like parsing) is covered by the Result type, so you will know where to expect errors.
  • Immutable: Database is based on the immutable stack idea, where you can only push onto the stack.
  • Crud capable: Even though the database is immutable you still can update and delete records, by shadowing them.
  • Version keeping: Every update and delete operation will produce a new version of the affected record, without modifying the original, so you will have all versions of your data.
  • Concurrent: SandDB is based on lwt, so every database operation is asynchronous.
  • Supports multiple serializers: SandDB supports both json and biniou serialization format thanks to the atdgen library.
No package is dependent