[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] irminsule 0.4.0 is released
I've just put the rough notes of the demo I've done this morning online: https://github.com/samoht/irminsule/wiki/Getting-Started Thomas On 21 Jan 2014, at 15:27, Thomas Gazagnaire <thomas@xxxxxxxxxxxxxx> wrote: > I am very happy to cut the first 'early-alpha' release of irminsule[1], which > should be available in OPAM quite soon. > > Irminsule is a distributed database with built-in snapshot, branch and > revert mechanisms. It is designed to use a large variety of backends, > although it is optimized for append-only store. Currently, there are 4 > backends implemented: in-memory, custom binary format on disk, > CRUD interface (using JSON over HTTP) and Git. > > Irminsule is written in pure OCaml. It can thus be compiled to Javascript > -- and run in the browsers; or into a Mirage microkernel -- and run directly > on top of Xen. Currently, though, the package is split into a pure library > ('irminsule'), a bunch of backends (called `irmsule.backend`) and a unix HTTP > server ('irminsule.server'). The HTTP server and some of the backends works > only in unix, but they should be easy to mirage. > > The package also comes with a command-line tool to experiment with the > various backends. > > $ irmin init -m -d # start a daemon to read and store data in > memory > $ irmin init -l /path/ -d # start a daemon to read and store data on disk > $ irmin init -r <uri> -d # start a daemon to read and store data using a > JSON protocol to reach the given uri > # (another irminsule instance should > listen on the given uri) > $ irmin init -g -d # start a daemon to read and store data using > the Git format > > You can store the default backend in the IRMIN shell variable. Running > 'irmin' will automatically look in that variable to select the right backend. > $ export IRMIN=m # memory backend > $ export IRMIN=g # Git backend > $ export IRMIN=l:<path> # local backend > $ export IRMIN=r:<uri> # remote backend > > Use `irmin read` and `irmin write` to read a write keys in the dabase. > Use `irmin tree` and `irmin ls` to inspect the database state > Use `irmin dump` to dump the database state in a .dot file > Use `irmin snapshot` to get the current HEAD > Use `irmin revert` to rollback to a previous HEAD > Use `irmin clone` and `irmin fetch` to create/update the local disk store > from the given backend. > > For whose interested to write new backends, I suggest to have a look at [3]. > If you can provide something which satisfies the `AO_BINARY` signature, it's > then easy to build a backend for irminsule (the simplest one being the > in-memory one[4]). > > The command are (poorly) documented using `irmin <cmd> --help`. Feel free to > ask questions on that list, report bugs and request feature on the bugtracker > [2]. > > Best, > Thomas > > [1] https://github.com/samoht/irminsule > [2] https://github.com/samoht/irminsule/issues > [3] https://github.com/samoht/irminsule/blob/master/lib/core/irminStore.mli > [4] https://github.com/samoht/irminsule/blob/master/lib/backend/irminMemory.ml > > > > _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |