云小课|GaussDB(DWS)数据存储尽在掌控,冷热数据切换自如

gaussdb,dws,数据,存储,掌控,冷热,切换,自如 · 浏览次数 : 136

小编点评

**华为云GaussDB(DWS)数据存储冷热分级管理** **问题** 如何将数据进行冷热分级管理,以提高数据分析性能和降低业务成本? **解决方案** 使用华为云GaussDB(DWS)中的冷热数据存储功能,根据业务系统不同使用需求对数据进行分类管理。 **冷热数据分级策略** - **LMT(最近修改时间):**根据数据访问频率和更新频率进行分区,数据访问频率较高,更新频率较低的数据属于热数据;数据访问频率和更新频率均较高的数据属于冷数据。 - **HPN(热分区数量):**根据数据分区数量进行分区,HPN值为3,表示保留最新的3个有数据的分区为热分区数据。 **冷热数据切换过程** - 数据访问时,根据分区的LMT或HPN值,将数据迁移至OBS表空间中。 - 切换完成后,删除原数据表中的相关分区。 **创建冷热表** - 创建冷热数据管理表,指定热数据有效期。 - 使用ALTER TABLE语句对所有冷热表进行刷新存储操作。 **查看数据分布** - 使用pg_catalog视图查询冷热表数据分布情况。 - 使用pg_refresh_storage函数进行批量数据迁移。 **注意** - 需要注册华为云账号并检查账号状态。 - 下载客户端并连接到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)数据存储尽在掌控,冷热数据切换自如相似的内容:

云小课|GaussDB(DWS)数据存储尽在掌控,冷热数据切换自如

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要: GaussDB(DWS)支持根据业务系统的不同使用需求,对膨胀的数据进行冷热分级管理,将数据按照时间分为热数据、冷数

云小课|使用SQL加密函数实现数据列的加解密

摘要:数据加密作为有效防止未授权访问和防护数据泄露的技术,在各种信息系统中广泛使用。作为信息系统的核心,GaussDB(DWS)数仓也提供数据加密功能,包括透明加密和使用SQL函数加密。 本文分享自华为云社区《看GaussDB(DWS)如何使用SQL加密函数实现数据列加解密》,作者:Hello EI

云小课|GaussDB如何进行性能调优

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:GaussDB性能调优过程需要综合考虑多方面因素,因此,调优人员应对系统软件架构、软硬件配置、数据库配置参数、并发控制

云小课|手把手教您在PyCharm中连接云端资源进行代码调试

摘要:让我们看看如何在PyCharm中连接云端资源进行代码调试吧! 本文分享自华为云社区《【云小课】EI第54课 手把手教您在PyCharm中连接云端资源进行代码调试》,作者:Hello EI 。 ModelArts提供了一个PyCharm插件工具PyCharm ToolKit,协助用户完成代码上传

云小课|使用SpringBoot快速构建FunctionGraph HTTP函数

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:本篇云小课主要指导使用Springboot应用的用户,快速部署业务到函数工作流FunctionGraph服务。 本文分

云小课|MRS基础操作之集群健康检查

MapReduce服务为用户提供海量数据的管理及分析功能,快速从结构化和非结构化的海量数据中挖掘您所需要的价值数据。集群中的FusionInsight Manager将提供企业级的集群的统一管理平台。

云小课|MRS基础原理之Hudi介绍

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:Hudi是数据湖的文件组织层,对Parquet格式文件进行管理提供数据湖能力,支持多种计算引擎。 本文分享自华为云社区

云小课|MRS基础原理之CarbonData入门

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:CarbonData是一种新型的Apache Hadoop本地文件格式,使用先进的列式存储、索引、压缩和编码技术,以提

云小课|MRS基础原理之Oozie任务调度

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:Oozie是一个基于工作流引擎的开源框架,它能够提供对Hadoop作业的任务调度与协调。Oozie是一个工作流引擎服务

云小课|MRS基础原理之MapReduce介绍

阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:MapReduce是Hadoop的核心,是Google提出的一个软件架构,用于大规模数据集(大于1TB)的并行运算。概