Unisrv is a database server: a microservice that exports local filesystem databases over a network. It is the swiss army knife of db services.
Unisrv can export a gdbm database over HTTP REST, a rocksdb database over JSON-RPC, and more. You can mix and match database type, network protocol interface and authentication methods.
See configuration documentation for details.
Log output is sent to the console (stderr) and Unix syslog service.
The following database types are supported:
- gdbm
- Rocksdb
You may export the database via any number of network protocols:
- REST over HTTP
- JSON-RPC over HTTP
Multiple HTTP paths at the same HTTP endpoint are supported; for example
http://127.0.0.1:8989/data/mydata
might export a gdbm database, while the same HTTP endpoint may also export a separate dataset from rocksdb at
http://127.0.0.1:8989/rocks
- C++ compiler
- OpenSSL
- One or more database libraries
- libevhtp: https://github.com/criticalstack/libevhtp
This uses the standard autotools pattern for building C++ programs:
$ ./autogen.sh
$ CXXFLAGS="-O2 -Wall -g -I/usr/local/include/evhtp" ./configure
$ make # compile
$ make check # run tests
$ sudo make install # install on system