表格存储数据多版本介绍| 学习笔记

简介: 快速学习表格存储数据多版本介绍。

开发者学堂课程【阿里云表格存储使用教程表格存储数据多版本介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/441/detail/5442


表格存储数据多版本介绍

 

内容介绍

一、表格存储数据模型详解

二、数据多版本之基础概念

 

一、表格存储数据模型详解

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

先回顾一下表格存储的数据模型

图片8.png

表格存储支持最多四个组件列组件列不能为空,表格组会根据第一个组件列值将数据分散到不同的数据分区中,以做到很好的负载均衡。同时,由于表格存储是一个 schema-free 的结构,用户不需要在预先使用的时候就定义数据表属性列的个数以及属性列的类型,每个属性列使用的时候定义即可。同时表格存储引入了一个版本号属性列的概念,每个属性列除了组件信息数据类的名称,同时会有一个版本号来对应相应具体的值比如说 ts1ts2 以及ts3,它们对应的分别是不同时间写入的 value1value2、value3 的值。

 

二、数据多版本之基础概念

1.数据版本号

(1)用户可以指定写入的数据的版本号

 用户在写入数据的时候,可以为写入的属性列指定对应的版本号

(2)如不指定服务端会将当前时间的毫秒单位时间戳(从1970-01-01 00:00:00 UTC 计算起的毫秒数)作为属性列生成版本号

2.数据诞生时间

(1)版本号是以毫秒为单位的,进行计算时,需要先除以1000

(2)版本号为1468944000000 ,该版本的数据诞生时间就为2016-07-2000:00:00

(3)版本号为1468944000 ,该版本的数据诞生时间就为1970-01-1808:02:24

3.数据的过期计算逻辑

写入数据版本: 1468944000000 ,表的生命数据周期 TTL=86400,就是一天

(1)当前时间2016-07-21 00:00:01换算为毫秒的时间戳为 x , x= 1469030401000

(2)数据的版本号 y,y= 1468944000000

TTL = 86400 ,换算成毫秒 z , z= 86400000

x-y= 86401000 > 86400000 ,该版本数据过期。系统后台会对数据进行自动删除。

4.数据生命周期

数据生命周期( Time to live ,简称 TTL )是数据表的一个属性,即数据的存活时间,单位为秒。表格存储会在后台对超过存活时间的数据进行清理,以减少用户的数据存储空间,降低存储成本。

TTL 由用户在建表时进行设置,如果希望数据永不过期,将其设置为-1

建表后,可以通过 UpdateTable 接口动态更改TTL

TTL 的单位为秒,例如期望过期时间为30天, TTL 应设置为2592000 (即30* 24 * 3600 )

5.最大版本数

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

图片9.png

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

相关实践学习
阿里云表格存储使用教程
表格存储(Table Store)是构建在阿里云飞天分布式系统之上的分布式NoSQL数据存储服务,根据99.99%的高可用以及11个9的数据可靠性的标准设计。表格存储通过数据分片和负载均衡技术,实现数据规模与访问并发上的无缝扩展,提供海量结构化数据的存储和实时访问。 产品详情:https://www.aliyun.com/product/ots
相关文章
|
7月前
|
存储 索引
表格存储根据多元索引查询条件直接更新数据
表格存储是否可以根据多元索引查询条件直接更新数据?
64 3
|
2月前
|
分布式计算 DataWorks API
DataWorks常见问题之按指定条件物理删除OTS中的数据失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
4月前
|
DataWorks NoSQL 关系型数据库
可以使用dataworks从tablestore同步数据到mysql吗?
可以使用dataworks从tablestore同步数据到mysql吗?
32 1
|
11月前
|
NoSQL 开发工具
TableStore表格存储(阿里云OTS)多行数据操作查询,支持倒序,过滤条件和分页
1. 批量读取操作 批量读取操作可以通过多种方式进行,包括: GetRow:根据主键读取一行数据。 BatchGetRow:批量读取多行数据。 GetRange:根据范围读取多行数据。
606 0
|
存储 消息中间件 NoSQL
物联网数据通过规则引擎流转到OTS|学习笔记
快速学习物联网数据通过规则引擎流转到OTS
274 0
物联网数据通过规则引擎流转到OTS|学习笔记
|
存储 SQL 分布式计算
表格存储使用场景介绍| 学习笔记
快速学习表格存储使用场景介绍。
119 0
表格存储使用场景介绍| 学习笔记
|
存储 监控 开发者
表格存储控制台的使用| 学习笔记
快速学习表格存储控制台的使用。
96 0
表格存储控制台的使用| 学习笔记
|
存储 运维 NoSQL
表格存储服务介绍| 学习笔记
快速学习表格存储服务介绍。
224 0
表格存储服务介绍| 学习笔记
|
存储 弹性计算 网络安全
表格存储 VPC 使用介绍| 学习笔记
快速学习表格存储 VPC 使用介绍。
117 0
表格存储 VPC 使用介绍| 学习笔记
|
存储 NoSQL 关系型数据库
基于TableStore的海量气象格点数据解决方案实战 王怀远
基于TableStore的海量气象格点数据解决方案实战 王怀远
319 0
基于TableStore的海量气象格点数据解决方案实战 王怀远