← All repos

irmin

Irmin is a distributed database that follows the same design principles as Git

databasegitirminmirageosocamlstorage
Browse cluster: OCaml Systems and Utilities
5,643commits
88contributors
7languages

Tech stack & purpose

Irmin is an OCaml library that implements a distributed database following Git's design principles, enabling mergeable and branchable data stores. Built primarily by Tarides with contributions from the broader community, it was originally created at the University of Cambridge in 2013 as the default storage layer for MirageOS applications. The project is highly customizable, supporting user-defined data types and storage backends (in-memory, filesystem, Redis, browser local storage, etc.), and includes features like snapshotting, Git compatibility, and formal semantics including Conflict-free Replicated Data-Types. Irmin's modular design treats distributed systems as collections of libraries that can be combined to address specific CAP Theorem challenges, making it portable across platforms from Linux to web browsers and Xen unikernels.

Community & reference links

Languages

OCaml
96.1%
C
3.1%
HTML
0.6%
Raku
0.2%
Standard ML
0.0%
Makefile
0.0%
Dune
0.0%

Contributors (top 30 of 88)