Hbase Cell Version的用法

时间:2012-09-11 15:34:56

标签: hbase

有一个问题困扰我很久,我对Hbase单元版本感到困惑,我知道如何设置版本并获取版本等API操作,但我不知道为什么有版本概念,以及如何使用版本。 有没有很好的例子来帮助我理解单元格版本的目的? 提前致谢

1 个答案:

答案 0 :(得分:3)

版本可用于存储列的多个但固定数量的值。想象一下,您想要存储用户最近10次登录的时间戳。您可以拥有一个名为“loginTime”的列,并在定义表时将最大版本设置为10。现在,您需要做的就是每次用户登录时更新“loginTime”列的值,HBase将覆盖版本列表中的先前值并存储最新值,而不是覆盖列的先前值在上面。它在内部将最后10个更新存储到此列,并删除旧条目。想象一下在RDBMS中做这样的事情,你最终会明确地删除旧条目。

您可以使用“获取”方法检索任意数量的版本。

另一个可能的用例可能是,比如你正在构建一个类似版本控制系统的东西,比方说一个Wiki页面。您可以将旧版本的页面存储为“pagecontent”列中的版本。