Index is a scalable implementation of persistent indices in OCaml.
Index provides the standard key-value interface:
replace. It requires three IO instances:
- A `log` IO containing all of the recently-added bindings; this is also kept in memory.
- When the `log` IO is full, it is merged into the `index` IO. Search is done first in `log` then in `index`, which makes recently added bindings search faster.
- A `lock` IO to ensure safe concurrent access.
module Key : sig ... end
module Value : sig ... end
Platform dependencies required by
module Platform : sig ... end
module Cache : sig ... end
Signatures and implementations of caches.
Make requires a cache in order to provide instance sharing.
module type S = sig ... end
Index module signature.
The exception raised when a write operation is attempted on a read_only index.
The exception is raised when a sync operation is attempted on a read-write index.
The exception raised when any operation is attempted on a closed index, except for
close, which is idempotent.
module Stats : sig ... end
Run-time metric tracking for index instances.
module Checks : sig ... end
Offline integrity checking and recovery for Index stores.
module Private : sig ... end
These modules should not be used. They are exposed purely for testing purposes.