如何在CockroachDB中形成MVCCKey?

时间:2016-07-27 05:53:20

标签: rocksdb cockroachdb

我想创建一个带有时间戳的MVCCKey,而且我知道它很有价值。但我意识到roachpb.key不是很直接;是否涉及一些前缀/后缀?数据库名称是否也在roachpb.key中编码?

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

1 个答案:

答案 0 :(得分:2)

engine.MVCCKey将常规键与时间戳组合在一起。 bar_repencoded字节字符串,用作RockDB密钥(RocksDB配置了自定义比较器,因此MethodA() calls MethodB() MethodB() calls MethodC() 正确排序,即使时间戳使用可变宽度编码)。

常规键是roachpb.Key类型的字节字符串。对于普通数据记录,表,列和索引ID中的键是constructed,以及索引列的值。 (此处不包括数据库ID;表MVCCKeys表中可以找到表所属的数据库)

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