Expand description
This library implements a schematized DB on top of RocksDB. It makes sure all data passed in and out are structured according to predefined schemas and prevents access to raw keys and values. This library also enforces a set of specific DB options, like custom comparators and schema-to-column-family mapping.
It requires that different kinds of key-value pairs be stored in separate column
families. To use this library to store a kind of key-value pairs, the user needs to use the
define_schema!
macro to define the schema name, the types of key and value, and name of the
column family.
Modules
This module provides traits that define the behavior of a schema and its associated key and value types, along with helpers to define a new schema with ease.
Macros
Macro for defining a SchemaDB schema.
Structs
Type alias to rocksdb::ReadOptions
. See rocksdb doc
A descriptor for a RocksDB column family.
This DB is a schematized RocksDB wrapper where all data passed in and out are typed according to
Schema
s.
Type alias to rocksdb::ReadOptions
. See rocksdb doc
Database-wide options around performance and behavior.
Type alias to rocksdb::ReadOptions
. See rocksdb doc
SchemaBatch
holds a collection of updates that can be applied to a DB atomically. The updates
will be applied in the order in which they are added to the SchemaBatch
.
DB Iterator parameterized on Schema
that seeks with Schema::Key
and yields
Schema::Key
and Schema::Value
Type alias to rocksdb::ReadOptions
. See rocksdb doc
A SliceTransform
is a generic pluggable way of transforming one string
to another. Its primary use-case is in configuring rocksdb
to store prefix blooms by setting prefix_extractor in
ColumnFamilyOptions.
Enums
Type alias to rocksdb::ReadOptions
. See rocksdb doc
Constants
Type alias to rocksdb::ReadOptions
. See rocksdb doc
The name of the default column family.