Offers some utility methods to facilitate testing Exar DB's modules

exar, exar-db, testkit


Exar DB

An event store with streaming support, it uses flat-file based collections.


The database is split into the following modules:


Install Cargo, then run:

cargo install exar-db

Starting the database

Simply run exar-db.

Configuring the database

The database can be configured using a TOML configuration file, example below:

log4rs_path = "/path/to/log4rs.toml"
logs_path = "~/exar-db/data"
scanners = { nr_of_scanners = 2, sleep_time_in_ms = 10 }
routing_strategy = "Random"
scanners = { nr_of_scanners = 4, sleep_time_in_ms = 5 }
host = ""
port = 38580
username = "my-username"
password = "my-secret"

Then run Exar DB by specifying the config file location: exar-db --config=/path/to/config.toml.

For more information about the database and server configuration sections, check the documentation about DatabaseConfig and ServerConfig.


Logging can be configured using a log4rs config file in TOML format, example below:

kind = "console"

pattern = "[{d(%+)(local)}] [{h({l})}] [{t}] {m}{n}"

kind = "file"
path = "exar-db.log"

pattern = "[{d(%+)(local)}] [{h({l})}] [{t}] {m}{n}"

level = "info"
appenders = ["console", "file"]

Interacting with the database via TCP

To interact with the database a very simple TCP protocol can be used even via telnet.

telnet 38580

Once the TCP connection has been established, you can use the commands defined in the exar-net section of the documentation

Exar UI

A simple user interface, built with Electron, useful to interact with the database is available here, but it currently needs to be run from source.