云小课|GaussDB(DWS)数据存储尽在掌控,冷热数据切换自如
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。
摘要: GaussDB(DWS)支持根据业务系统的不同使用需求,对膨胀的数据进行冷热分级管理,将数据按照时间分为热数据、冷数据,这不仅可以提高数据分析性能还能降低业务成本。
本文分享自华为云社区《【云小课】EI第50课 GaussDB(DWS)数据存储尽在掌控,冷热数据切换自如》,作者:阅识风云
背景信息
海量大数据场景下,随着业务和数据量的不断增长,数据存储与消耗的资源也日益增长。根据业务系统中用户对不同时期数据的不同使用需求,对膨胀的数据进行“冷热”分级管理,不仅可以提高数据分析性能还能降低业务成本。针对数据使用的一些场景,可以将数据按照时间分为:热数据、冷数据。
冷热数据主要从数据访问频率、更新频率进行划分。
- Hot(热数据):访问、更新频率较高,对访问的响应时间要求很高的数据。
- Cold(冷数据):不允许更新或更新访问频率较低,对访问的响应时间要求不高的数据。
冷热切换策略
冷热切换的策略支持LMT(last modify time)和HPN(hot partition number),LMT指按分区的最后更新时间切换,HPN指保留热分区的个数切换。
- LMT:表示切换[day]时间前修改的热分区数据为冷分区,将该数据迁至OBS表空间中。其中[day]为整型,范围[0, 36500],单位为天。
如下图中,设置day为2,即在冷热切换时,根据分区数据的最晚修改时间,保留2日内所修改的分区为热分区,其余数据为冷分区数据。假设当前时间为4月30日,4月30日对[4-26]分区进行了delete操作,4月29日对[4-27]分区进行了insert操作,故在冷热切换时,保留[4-26][4-27][4-29][4-30]四个分区为热分区。
- HPN:表示保留HPN个有数据的分区为热分区。分区顺序按照分区的Sequence ID来确定,分区的Sequence ID是根据分区边界值的大小,内置生成的序号,此序号不对外呈现。对于RANGE分区,分区的边界值越大,分区对应的Sequence ID越大;对于LIST分区,分区边界枚举值中的最大值越大,分区对应的Sequence ID越大。在冷热切换时,需要将数据迁移至OBS表空间中。其中HPN为整型,范围为[0,1600]。
如下图中,设置HPN为3,即在冷热切换时,保留最新的3个有数据的分区为热分区数据,其余分区均切为冷分区。
准备工作
- 已注册华为云账号,且在使用GaussDB(DWS)前检查账号状态,账号不能处于欠费或冻结状态。
- 已下载客户端并连接到GaussDB(DWS)集群。
创建冷热表
创建列存冷热数据管理表,指定热数据有效期LMT为100天。
CREATE TABLE lifecycle_table(i int, val text) WITH (ORIENTATION = COLUMN, storage_policy = 'LMT:100')
PARTITION BY RANGE (i)
(
PARTITION P1 VALUES LESS THAN(5),
PARTITION P2 VALUES LESS THAN(10),
PARTITION P3 VALUES LESS THAN(15),
PARTITION P8 VALUES LESS THAN(MAXVALUE)
)
ENABLE ROW MOVEMENT;
冷热数据切换
切换冷数据至OBS表空间。
- 自动切换:每日0点调度框架自动触发,无需关注切换情况;
可自定义自动切换时间:根据业务情况调整自动触发时间,修改为每天早晨6点30分:
select * from pg_obs_cold_refresh_time('lifecycle_table', '06:30:00');
pg_obs_cold_refresh_time
--------------------------
SUCCESS
(1 row)
- 手动切换
执行如下操作手动切换单表:
alter table lifecycle_table refresh storage;
ALTER TABLE
执行如下操作批量切换所有冷热表:
select pg_catalog.pg_refresh_storage();
pg_refresh_storage
--------------------
(1,0)
(1 row)
查看数据分布
查看冷热表数据分布情况。
查看单表数据分布情况:
select * from pg_catalog.pg_lifecycle_table_data_distribute('lifecycle_table');
schemaname | tablename | nodename | hotpartition | coldpartition | switchablepartition | hotdatasize | colddatasize | switchabledatasize
------------+-----------------+--------------+--------------+---------------+---------------------+-------------+--------------+--------------------
public | lifecycle_table | dn_6001_6002 | p1,p2,p3,p8 | | | 96 KB | 0 bytes | 0 bytes
public | lifecycle_table | dn_6003_6004 | p1,p2,p3,p8 | | | 96 KB | 0 bytes | 0 bytes
public | lifecycle_table | dn_6005_6006 | p1,p2,p3,p8 | | | 96 KB | 0 bytes | 0 bytes
(3 rows)
查看所有冷热表数据分布情况:
select * from pg_catalog.pg_lifecycle_node_data_distribute();
schemaname | tablename | nodename | hotpartition | coldpartition | switchablepartition | hotdatasize | colddatasize | switchabledatasize
------------+-----------------+--------------+--------------+---------------+---------------------+-------------+--------------+--------------------
public | lifecycle_table | dn_6001_6002 | p1,p2,p3,p8 | | | 98304 | 0 | 0
public | lifecycle_table | dn_6003_6004 | p1,p2,p3,p8 | | | 98304 | 0 | 0
public | lifecycle_table | dn_6005_6006 | p1,p2,p3,p8 | | | 98304 | 0 | 0
(3 rows)
了解更多华为云数据仓库GaussDB(DWS),请点击这里。
云小课|GaussDB(DWS)数据存储尽在掌控,冷热数据切换自如的更多相关文章
- 云小课|MRS数据分析-通过Spark Streaming作业消费Kafka数据
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Spark Str ...
- 云小课|DGC数据开发之基础入门篇
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:欢迎来到DGC数据 ...
- 云小课|MRS基础原理之MapReduce介绍
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:MapReduce ...
- 云小课|云小课教您如何选择Redis实例类型
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:购买Redis实例 ...
- 云小课 | 搬迁本地数据至OBS,多种方式任你选
摘要:搬迁本地数据至OBS,包括OBS工具方式.CDM方式.DES磁盘方式.DES Teleport方式和云专线方式,每种方式特点不同,本节课我们就一起看看有什么区别. 已有的业务数据可能保存在本地的 ...
- 云小课|带你揭开IP地址的神秘身份
摘要:本文带你了解网络云产品和相关的知识内容. 华为云网络服务大家族提供了丰富的云产品,可以满足用户的各种网络互联需求.相应地,华为云帮助中心也贴心的奉上了你想了解的所有网络云产品知识. 可是小课最近 ...
- 云小课 | IPv4枯了,IPv6来了
摘要:本篇主要分享IPv4与IPv6的区别和IPv6的应用场景,助您快速理解华为云IPv6双栈及IPv6 EIP. IPv6的由来 上节课我们讲了公网IP与私网IP,了解了IP地址的一些知识. 我们一 ...
- 云小课 | WAF反爬虫“三板斧”:轻松应对网站恶意爬虫
描述:反爬虫是一个复杂的过程,针对爬虫常见的行为特征,WAF反爬虫三板斧——Robot检测(识别User-Agent).网站反爬虫(检查浏览器合法性)和CC攻击防护(限制访问频率)可以全方位帮您解决业 ...
- 安卓android sharepreference数据存储,保存输入框里面的数据
Fragment 里面 使用轻量级的数据存储sharepreference ,代码思路清晰.保存输入框里面的数据,实现按钮保存. 个人项目中简单清晰代码: 赵存档 编写 ,可以参考: 类继承Fragm ...
- 云小课 | “VPC连接”知多少
摘要:华为云提供了丰富的网络服务,可满足多种网络互连场景. 同Region的两个VPC怎么连通?” “跨Region的两个VPC又怎么连通?” “VPC内的ECS搭建了一个应用,需要访问Interne ...
随机推荐
- [ABC202E] Count Descendants 题解
Count Descendants 题目大意 给定一颗以 \(1\) 为根的树,多次询问求某点的子树中深度为给定值的点的个数. 思路分析 对于每个深度开一个 vector,从大到小存下这个深度的所有点 ...
- Windows10 下载并编译指定版本chromium源码
1.一些信息 Chromium 的官网是 https://www.chromium.org/ Git 仓库是 https://chromium.googlesource.com/chromium/sr ...
- Redis平台-整合PHP
1.Redis的相关介绍: 定义: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...
- 文心一言 VS 讯飞星火 VS chatgpt (121)-- 算法导论10.4 2题
二.用go语言,给定一个n结点的二叉树,写出一个 O(n)时间的递归过程,将该树每个结点的关键字输出. 文心一言: 在Go语言中,你可以使用递归函数来遍历二叉树的所有节点,并输出每个节点的关键字.以下 ...
- Unity csc.rsp文件
试验版本 Unity2020.3 编译符号,就是#if UNITY_ANDROID这个东西,在处理多平台多分支的情况下挺有用的,但是在ProjectSettings里面设置比较麻烦,不主动代码调用保存 ...
- C++常见算法&数据结构模版
各种常见算法 & 数据结构模板 1. 最长不下降子序列(LIS) 1.1 \(O(n^2)\) 做法 点击查看代码 for (int i = 1;i <= n;i++) { cin &g ...
- [学习笔记]TypeScript查缺补漏(一):类
@ 目录 基础知识 创建类型 类的初始化 类型和值 JSDoc 注释 字段 私有字段 可选和非可选字段 字段类型约束 Getter/Setter 静态成员 函数重载 构造函数 参数属性 类的实例化 箭 ...
- JAVA异常的不正确处理方式
最近收到一个求助信息,异常堆栈如下: ``` java.lang.RuntimeException: FF1C1005 at test_ssh.sftp.Pool.get(Pool.java:25) ...
- Python 异常处理:try、except、else 和 finally 的使用指南
异常处理 当发生错误(或我们称之为异常)时,Python 通常会停止执行并生成错误消息. try 块用于测试一段代码是否存在错误. except 块用于处理错误. else 块用于在没有错误时执行代码 ...
- keepass