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

本文涉及的产品
表格存储 Tablestore,50G 2个月
简介: 快速学习表格存储数据多版本介绍。

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

课程地址: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 这两个版本以及对应的数据。

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
阿里云表格存储使用教程
表格存储(Table Store)是构建在阿里云飞天分布式系统之上的分布式NoSQL数据存储服务,根据99.99%的高可用以及11个9的数据可靠性的标准设计。表格存储通过数据分片和负载均衡技术,实现数据规模与访问并发上的无缝扩展,提供海量结构化数据的存储和实时访问。 产品详情:https://www.aliyun.com/product/ots
相关文章
|
存储 索引
表格存储根据多元索引查询条件直接更新数据
表格存储是否可以根据多元索引查询条件直接更新数据?
114 3
|
5月前
|
DataWorks NoSQL 关系型数据库
DataWorks产品使用合集之如何从Tablestore同步数据到MySQL
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
7月前
|
分布式计算 DataWorks API
DataWorks常见问题之按指定条件物理删除OTS中的数据失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
7月前
|
DataWorks NoSQL 关系型数据库
可以使用dataworks从tablestore同步数据到mysql吗?
可以使用dataworks从tablestore同步数据到mysql吗?
75 1
|
NoSQL 开发工具
TableStore表格存储(阿里云OTS)多行数据操作查询,支持倒序,过滤条件和分页
1. 批量读取操作 批量读取操作可以通过多种方式进行,包括: GetRow:根据主键读取一行数据。 BatchGetRow:批量读取多行数据。 GetRange:根据范围读取多行数据。
885 0
|
存储 消息中间件 NoSQL
物联网数据通过规则引擎流转到OTS|学习笔记
快速学习物联网数据通过规则引擎流转到OTS
341 15
物联网数据通过规则引擎流转到OTS|学习笔记
|
SQL NoSQL 数据可视化
玩转Tablestore:使用Grafana快速展示时序数据
Grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,可以通过将采集的数据查询然后可视化的展示,实现报警通知;Grafana拥有丰富的数据源,官方支持以下数据源:Graphite,Elasticsearch,InfluxDB,Prometheus,Cloudwatch,MySQ
1756 0
玩转Tablestore:使用Grafana快速展示时序数据
|
存储 NoSQL 关系型数据库
基于TableStore的海量气象格点数据解决方案实战 王怀远
基于TableStore的海量气象格点数据解决方案实战 王怀远
425 0
基于TableStore的海量气象格点数据解决方案实战 王怀远
|
存储 SQL 运维
基于Tablestore 实现大规模订单系统海量订单/日志数据分类存储的实践
前言:从最早的互联网高速发展、到移动互联网的爆发式增长,再到今天的产业互联网、物联网的快速崛起,各种各样新应用、新系统产生了众多订单类型的需求,比如电商购物订单、银行流水、运营商话费账单、外卖订单、设备信息等,产生的数据种类和数据量越来越多;其中订单系统就是一个非常广泛、通用的系统。而随着数据规模的快速增长、大数据技术的发展、运营水平的不断提高,包括数据消费的能力要求越来越高,这对支撑订单系统的数据库设计、存储系统也提出了更多的要求。在新的需求下,传统的经典架构面临着诸多挑战,需要进一步思考架构优化,以更好支撑业务发展;
796 0
基于Tablestore 实现大规模订单系统海量订单/日志数据分类存储的实践
|
存储 SQL 开发框架
阿里云物联网平台数据转发到表格存储(Table Store)示例参考
本文主要结合物模型的结构体类型属性数据,演示payLoad的设置及规则引擎的配置。
阿里云物联网平台数据转发到表格存储(Table Store)示例参考