Single cluster wide key value store
Keys and values are byte arrays
Keys are sorted lexicographically
Store has monotonically increasing revisions
Used to timestamp key creation and modification
Historical revisions available until compaction
Keys have increasing versions
Keys can have leases
message KeyValue { bytes key = 1; int64 create_revision = 2; int64 mod_revision = 3; int64 version = 4; bytes value = 5; int64 lease = 6; }