{"repo":"mirage/irmin","free":true,"listed":false,"github":"https://github.com/mirage/irmin","clone":"git clone https://github.com/mirage/irmin.git","description":"Irmin is a distributed database that follows the same design principles as Git","language":"OCaml","stars":1953,"topics":["ocaml","git","storage","mirageos","database","irmin"],"license":"ISC","category":"databases-storage","readme_excerpt":"A Distributed Database Built on the Same Principles as Git Irmin is an OCaml library for building mergeable, branchable distributed data stores. Irmin is based on distributed version-control systems (DVCs), extensively used in software development to track data provenance and show modifications in the source code. Irmin applies DVC's principles to large-scale distributed data and includes similar functions to Git (clone, push, pull, branch, rebase). The Git workflow was initially designed for humans to manage changes within source code. Irmin scales this to handle automatic programs performing a very high number of operations per second, with fully-automated conflict handling. Irmin is highly customisable. Users can define their types to store application-specific values. They can also define custom storage layers (in memory, on disk, in a remote Redis database, in the browser, etc.). Finally, Irmin contains an event-driven API to define programmable dynamic behaviours and to program distributed dataflow pipelines. Irmin was created at the University of Cambridge in 2013 to be the default storage layer for [MirageOS][] applications (both to store and orchestrate unikernel binaries and the data that these unikernels are using). As such, Irmin is not, strictly speaking, a complete database engine. Instead, similarly to other MirageOS components, it is a collection of libraries designed to solve different flavours of the challenges raised by the [CAP Theorem][]. Each application","default_branch":null,"files":null,"tree":[],"storefront":"/r/mirage","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mirage/irmin/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}