什么是表格存储数据多版本?

 
0 26
半岛荼靡
2019-09-25 20:17

c8e8fddcc314779197dc9bc7.png

这里给大家简单介绍一下表格存储的数据生命周期管理功能。

我们先来回顾一下表格存储的数据模型。

991ea0f883934eb8d5ac875e.png

表格存储支持最多四个主键列,主键列不能为空。表格组会根据第一个主键列的值,将数据分散到不同的数据分区中,做到很好的负载均衡。另外,用户不需要预先定义数据表的属性列的个数以及类型,每个属性列在使用的时候定义即可。同时表格存储对位置属性引入了一个版本号的概念,每个属性列除了组建信息、属性列的名称,其中还会有一个版本号来对应相应的具体的值。这里看到,比如说ts1、ts2以及ts3,他们对应的分别是不同时间写入的value1、value2、value3的值。

下面我们来了解下数据多版本的一些基础概念。

0fc9cdc411903e5f9b2215e8.png

首先是数据的版本号,用户在写入数据的时候可以为写入的属性列指定对应的版本号。如果不指定,那么服务端会将当前的系统时间的毫秒单位时间戳(就是从1970年1月1日00:00的UTC时间计算起的毫秒数)来作为这个属性列的版本号。那么知道了版本号之后,我们就可以将版本号换成数据的诞生时间(因为版本号是以毫秒为单位的,在进行计算的时候需要先除以1000换算成秒级的时间戳,再将该秒级的时间戳换算成UTC时间)。具体算法示例见上图。系统后台会对过期的数据进行异步的自动删除。

下面我们再看看数据生命周期。

eebab4385cb9bebfb272e2ef.png

数据生命周期——Time to live,简称TTL,是数据表的一个属性,即数据的存活时间,单位为秒。表格存储会在后台对超过存活时间的数据进行清理,以减少用户的数据存储空间,降低存储成本。TTL由用户在建表的时候进行设置,如果希望数据永不过期,可以将其设置为-1秒。之后用户也可以通过Update Table接口以及控制台对TTL进行动态修改,提交的时间单位为秒,例如期望过期时间为30天,那么TTL应该设置为2592000,即30天*24小时*3600秒。

下面是最大版本数——Max versions也是数据表的一个属性。这个属性表示该数据表中属性列能够保留多少个版本的数据。当一个属性列的版本个数超过Max versions时,最早的版本将会被异步删除。

我们以Max versions等于2的表为例,假设某一个属性里已经value1和value2,分别对应ts1时间版本号和ts2版本号,在某一个时刻写入value3,相当于新增一个版本号为ts3值为value3的值,由于最大版本数为2,最早的第一个版本ts1将会被后台异步删除,那么用户也只可以查询到ts2和ts3两个版本以及对应的数据。

表格存储多版本的介绍就到这里,更多详情参见:表格存储

本文内容由互联网用户自发贡献,版权归作者所有,本站不拥有所有权也不承担相关法律责任。如需转载请按以下形式注明来源: 复制

文章来源:阿里云牛优惠资讯网
文章标题:什么是表格存储数据多版本?
原文地址:https://aliyunnew.com/a/What-is-multiversion-of-table-storage-data.html
发布时间:2019-09-25 20:17
相关话题

阿里云的表格存储是什么

表格存储是一种NoSQL多模型数据库,可以提供海量结构化数据存储以及查询分析服务。集成时序、时空数据存储特性,可提供千万级TPS以及毫秒级随机读写能力。表格存储是全托管,无需担心软硬件预置、配置、故障、集群扩展、安全等问题,支持多种数据库模型,可以广泛应用于时序数据、时空数据、消息数据、元数据以及大...查看更多
猜您喜欢
回帖
  • 抢占沙发~~