# slap_kv v0.4.0 - Table of Contents > A partitioned key-value store that persists data using SlateDB. ## Pages - [slap_kv](readme.md) - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - KV - [Slap.KV](Slap.KV.md): A durable key-value store on `Slap.KV.Cluster`. Rows are addressed by a partition and a key, both non-empty binaries: the partition places the row on a shard (`Slap.KV.Cluster.shard_for(partition)`), and within a partition rows are in key order, so a partition can be scanned. There are no scans across partitions. - [Slap.KV.Cluster](Slap.KV.Cluster.md): The shards that hold the rows, a `Slap.Cluster`. A partition's rows are on shard `shard_for(partition)`. Each shard runs partition writers, each the only process that writes its own subset of the shard's partitions. Set `child_options: [partition_writers: n]` on the cluster (default 16). - HTTP - [Slap.KV.HTTP.Router](Slap.KV.HTTP.Router.md): `Slap.KV` over HTTP, as a Plug. Under `:prefix` (default `/v1/kv`, relative to a `Plug.forward/4` mount) - Metrics - [Slap.KV.Telemetry](Slap.KV.Telemetry.md): Telemetry events, all under `[:slap, :kv, ...]`