cdbd

cdbd ("constant database daemon") is a small constant database server: given a key-value file in a format it understands (like CDB), it will serve that file via a protocol it speaks (like memcached).

In the past I have used a company-internal tool like cdbd (called "SSTable Service") to provide precomputed data to production services. The idea is that it's super easy to start a cdbd instance and get the data where you need. In a service-oriented architecture, cdbd makes your static data accessible.

Example

sh echo '+3,5:one->Hello\n' | cdbmake f.cdb f.cdb.tmp cdbd --cdb f.cdb --memcached 11211 & memccat --servers=localhost:11211 one

Installation

Install with Cargo, the Rust package manager, like so:

sh cargo install cdbd

Usage

``` Usage: target/debug/cdbd [options]

Options: --memcached [HOST:]PORT What port (and optional address) to bind a memcached service on (default address "0.0.0.0") --cdb CDB A CDB file to serve --mtbl MTBL An MTBL file to serve -v, --verbose Print more logging information (may be used more than once for more detail) -h, --help Print this help text ```

Supported constant databases

Supported protocols

Work to be done

License

Copyright 2017 Leon Barrett

Licensed under either of * Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0) * MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.