3

有个问题困扰了我很久,对Hbase cell的版本一头雾水,我知道如何设置版本和获取版本等API操作,但不知道为什么会有版本概念,以及如何使用版本。有什么好的例子可以帮助我理解单元版本的目的吗?提前致谢

4

1 回答 1

3

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

您可以使用“获取”方法检索任意多个版本。

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

于 2012-10-06T12:55:53.440 回答