CockroachDB 中的 MVCCKey 是如何形成的?

How is an MVCCKey formed in CockroachDB?

我想创建一个带有时间戳和我知道的漂亮值的 MVCCKey。但是我意识到 roachpb.key 不是很简单;有一些 prefix/suffix 涉及吗?数据库名称是否也编码为roachpb.key

谁能告诉我 MVCCKey 是如何形成的?它有什么信息?在文档中,它只是说它看起来像 /table/primary/key/column.

engine.MVCCKey combines a regular key with a timestamp. MVCCKeys are encoded 转换为字节字符串用作 RockDB 密钥(RocksDB 配置了自定义比较器,因此即使时间戳使用可变宽度编码,MVCCKeys 也能正确排序)。

常规键是 roachpb.Key. For ordinary data records, the keys are constructed 类型的字节字符串,来自 table、列和索引 ID,以及索引列的值。 (这里不包括数据库ID;table所属的数据库可以在system.descriptors table中找到)

函数keys.PrettyPrint可以将roachpb.Key转换为人类可读的形式。