在HBase中,TTL真正的含义是什么?

在HBase中,TTL真正的含义是什么?,hbase,Hbase,假设我们有两个CF(CF1,CF2) 假设CF2的TTL为一天,CF2有两个列限定符 这是否意味着在主要压缩过程中,CF2中任何超过一天的单元都会自动删除(只要最小版本==0) 我很困惑,因为在文档中,他们一直在引用行,但不确定它们的含义……根据我在文档中的理解,行是指列族中特定行键的一个版本 VERSIONS—列族中要维护的行键的最大版本数 TTL-保留行键版本的持续时间 MIN_VERSIONS-任何时间点要维护的行键的最小版本数 我想用一个例子来解释以上三点。比如说,您的CF2已配置为版本

假设我们有两个CF(CF1,CF2)

假设CF2的TTL为一天,CF2有两个列限定符

这是否意味着在主要压缩过程中,CF2中任何超过一天的单元都会自动删除(只要最小版本==0)


我很困惑,因为在文档中,他们一直在引用行,但不确定它们的含义……

根据我在文档中的理解,行是指列族中特定行键的一个版本

VERSIONS—列族中要维护的行键的最大版本数

TTL-保留行键版本的持续时间

MIN_VERSIONS-任何时间点要维护的行键的最小版本数

我想用一个例子来解释以上三点。比如说,您的CF2已配置为版本=100,TTL=1Day,MIN_VERSIONS=3

因此,对于CF2中的特定行键,最多将保留100个版本,如果没有版本>3,则任何早于1day的版本都将通过主要压缩删除。这确保了CF2总是有3个版本的记录