Irmin is a library for persistent data stores with version-control following similar principles as Git. Irmin is written in pure OCaml (it does not depend on external C stubs) and runs on a variety of backends.
Work on Irmin started back in 2013 with partial funding from UCN, and early data structures were detailed in a JFLA paper in 2015. The original idea behind Irmin was to be able to apply the features of a distributed version-control system (DVCS) to big data. By using existing tools around source-code version control they were able to apply the same functionality as a library, therefore providing significant flexibility and efficiency at a reasonable cost.
Thomas Gazagnaire has matured the project extensively over the last 4 years, and this release seeks to build on feedback gathered from early users by delivering an API that is easier to use and more efficient than ever before.
Irmin use-cases are detailed in the GitHub repository.
- The functional innards of Docker for Mac and Windows
- CueKeeper: Getting things done in the browswer - CueKeeper is a TODO list that uses Irmin to manage history, reversion and synchronisation.
- What a distributed, version-controlled ARP cache gets you
- Persistent networking with Irmin and MirageOS
- Using Irmin to add fault-tolerance to the Xenstore database
- Introducing Irmin: Git-like distributed, branchable storage
- Mergeable persistent data structures
Development of Irmin was supported in part by the EU FP7 User-Centric Networking project, Grant No. 611001.
- Testing Your Own Fork With OCaml's GitHub CI
- Platforms, Packaging, Progress
- Merlin 3.0.0 on Windows
- A New Implementation of Git
- Major Releases of Cohttp, Conduit, DNS and TCP/IP Libraries
- OCaml 4.05.0 Released
- Intel Hyper-Threading Bug Uncovered by OCaml Developers
- Unsigned Integers as Built-In Types or as a Library?
- A Week of Platform Releases: Odig, Odoc, Opam Bundle and More!
- Why Jbuilder? Demonstration and Discussion