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
转换为人类可读的形式。
我想创建一个带有时间戳和我知道的漂亮值的 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
转换为人类可读的形式。