范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

带你认识一下数仓的分区自动管理

  摘要:本文从分区自动管理的作用、用法、原理等方面进行介绍。
  本文分享自华为云社区《GaussDB(DWS) 分区自动管理介绍-云社区-华为云》,作者: Attila。
  对于分区列为时间的分区表,分区自动管理功能可以自动创建新分区和删除过期分区,降低分区表的维护成本,改善查询性能。下面将从分区自动管理的作用、用法、原理等方面进行介绍。 1. 分区自动管理作用
  为了便于查询和维护数据,客户通常使用分区列为时间的分区表来存储时间相关的数据,例如电商的订单信息、 物联网采集的实时数据。这些时间相关的数据导入分区表时,需要保证分区表要有对应时间的分区,由于普通的分区表不会自动创建新的分区和删除过期分区,所以维护人员需要定期创建新分区和删除过期分区,提高了运维成本。
  为解决上述问题,GaussDB(DWS) 引入了分区自动管理特性。使用者可通过设置表级参数period、ttl开启分区自动管理功能,使分区表可以自动创建新分区和删除过期分区,降低分区表的维护成本,改善查询性能。其中,period既表示新分区的时间范围,也表示自动创建新分区和自动删除过期分区的周期;ttl表示分区过期时间。period和ttl的值均为Interval类型,例如’1 hour’、‘1 day’、‘1 week’、‘1 month’、‘1 year’、 "1 month 2 days 3 hours’等。 1.1 自动创建新分区
  分区自动管理每隔period的时间就会自动创建分区,每次创建一个或多个时间范围为period的新分区,以推进最大的分区边界时间,保证其大于nowTime+30*period。由于每次创建分区时,都动态地为未来时间创建了预留分区,所以只要有一次自动创建新分区成功,就可以保证在未来30个period的时间之内,都不会出现实时数据因为没有对应分区而导入失败的情况。
  1.2 自动删除过期分区
  边界时间早于nowTime-ttl的分区被认为是过期分区。分区自动管理每隔period的时间就会遍历检测所有分区,并删除其中的过期分区,如果所有的分区都是过期分区,则保留一个分区,并truncate该表。 2. 分区自动管理用法2.1 分区管理功能约束
  在使用分区管理功能时,需要满足如下约束:
  1)不支持在小型机、加速集群、单机集群上使用。
  2)不支持在8.1.3版本以下的版本中使用。
  3)仅支持行存范围分区表、列存范围分区表、时序表以及冷热表。
  4)分区键唯一并且类型仅支持timestamp、timestamptz、date类型。
  5)不支持存在maxvalue分区。
  6)(nowTime - boundaryTime) / period需要小于分区个数上限,其中nowTime为当前时间,boundaryTime为现有分区中最早的分区边界时间。
  7)period、ttl取值范围为1 hour ~ 100 years。另外,在兼容Teradata或MySQL的数据库中,分区键类型为date时,period不能小于1 day。
  8)表级参数ttl不支持单独存在,必须要提前或同时设置period,并且要大于或等于period。
  9)集群在线扩容期间,自动增加分区会失败,但是由于每次增分区时,都预留了足够的分区,所以不影响使用。 2.2 开启分区管理功能
  分区管理功能是和表级参数period、ttl绑定的,只要成功设置了表级参数period,即开启了自动创建新分区功能;成功设置了表级参数ttl,即开启了自动删除过期分区功能。第一次自动创建分区或删除分区的时间为设置period或ttl后30秒。
  有两种开启分区管理功能的方式,具体如下:
  1)建表时指定period、ttl
  该方式适用于新建分区管理表时使用。新建分区管理表有两种语法,一种是建表时指定分区,另一种是建表时不指定分区。
  建分区管理表时如果指定分区,则语法规则和建普通分区表相同,唯一的区别就是会指定表级参数period、ttl,具体示例如下。在该示例中,分区过期时间为7 days,新分区的时间范围以及自动分区任务周期为1 day。 CREATE TABLE CPU1(	     id integer,		     IP text,	     time timestamp ) with (TTL="7 days",PERIOD="1 day") partition by range(time) (	     PARTITION P1 VALUES LESS THAN("2022-01-05 16:32:45"),     PARTITION P2 VALUES LESS THAN("2022-01-06 16:56:12") );
  建分区管理表时可以只指定分区键不指定分区,此时将创建两个默认分区,这两个默认分区的分区时间范围均为period。其中,第一个默认分区的边界时间是大于当前时间的第一个整时/整天/整周/整月/整年的时间,具体选择哪种整点时间取决于period的最大单位;第二个默认分区的边界时间是第一个分区边界时间加period。假设当前时间是2022-02-17 16:32:45,各种情况的第一个默认分区的分区边界选择如下表:
  建表时不指定分区的具体示例如下: CREATE TABLE CPU2(     id integer,	     IP text,	     time timestamp ) with (TTL="7 days",PERIOD="1 day") partition by range(time);
  2)使用alter table set的方式设置period、ttl
  该方式适用于给一张满足分区管理约束的普通分区表增加分区管理功能。
  假设cpu3表是一张满足分区管理约束的普通分区表,给该表增加分区管理功能的示例如下: -- 同时开启自动创建和自动删除分区功能 ALTER TABLE cpu3 SET (PERIOD="1 day",TTL="7 days"); -- 只开启自动创建分区功能 ALTER TABLE cpu3 SET (PERIOD="1 day"); -- 只开启自动删除分区功能,如果没有提前开启自动创建分区功能,则开启失败 ALTER TABLE cpu3 SET (TTL="7 days");2.3 修改分区管理功能
  修改分区管理功能主要是修改period和ttl,可以通过alter table set的方式修改。
  假设cpu4表是一张分区管理表,修改其period和ttl示例如下: -- 同时修改period ALTER TABLE cpu4 SET (TTL="10 days",PERIOD="2 days");2.4 关闭分区管理功能
  使用alter table reset的方式可以删除表级参数period、ttl,进而关闭相应的分区管理功能。需要注意的是,不能在存在ttl的情况下,单独删除period。另外,时序表不支持alter table reset。
  假设cpu5表是一张具有period和ttl的分区管理表,关闭其分区管理功能示例如下: -- 同时关闭自动创建和自动删除分区功能 ALTER TABLE cpu5 RESET (PERIOD,TTL); -- 只关闭自动删除分区功能 ALTER TABLE cpu5 RESET (TTL); -- 只关闭自动创建分区功能,如果该表有ttl参数,则关闭失败 ALTER TABLE cpu5 RESET (PERIOD);3.分区自动管理原理3.1 基本原理
  分区管理的实现依托了pg_task自动调度任务,即设置period/ttl时,向scheduler.pg_task表中插入了自增/自减分区管理任务,其中自增分区任务的任务内容为proc_add_partition(relname, period)函数,自减分区任务为proc_drop_partition(relname, ttl)函数,两种任务的调用周期均为period,第一次执行时间为任务插入时间后30秒。
  使用管理员权限,可以查看scheduler.pg_task表中任务具体的信息,例如任务内容(what字段)、任务执行周期(interval字段)、任务上一次成功执行的时间(actual_end_time字段)、任务状态(task_status字段)。当自动调度任务执行失败时,用户可以复制scheduler.pg_task表中分区管理任务的what字段,然后手动执行该任务。查看scheduler.pg_task表以及手动执行自增分区任务示例如下: my_database=# SELECT what,interval FROM scheduler.pg_task;                              what                             | interval --------------------------------------------------------------+----------  call proc_add_partition("public.cpu1", interval "1 day");    | 1 day  call proc_drop_partition("public.cpu1", interval "7 days");  | 1 day (2 rows)  my_database=# call proc_add_partition("public.cpu1", interval "1 day");  proc_add_partition --------------------  (1 row)3.2 proc_add_partition(relname regclass, boundaries_interval interval)
  该函数用于自动添加分区,具体实现流程如下图。函数运行时,会在分区表现有分区边界的基础上,创建多个时间范围为boundaries_interval的新分区,直到新的boundary距离当前时间大于29个boundaries_interval,之后再额外多创建一个分区,保证该函数运行时,一定会创建一个新分区 。
  3.3 proc_drop_partition (relname regclass, older_than interval)
  该函数用于自动删除过期分区。函数运行时,会遍历分区表所有分区,并删除其中boundary早于(now_time - older_than)的分区;如果所有分区都满足删除条件,则保留一个分区,并truncate该表。
  点击下方,第一时间了解华为云新鲜技术~
  华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云

英雄人生32天内,用410发子弹击毙214名敌人的狙击之神上甘岭战役的惨烈,诞生了人民志愿军许多的战斗英雄,像黄继光孙子明牛保才等英雄事迹,大家都耳熟能详。正是靠着无数的像他们一样的普通士兵用血肉之躯,舍生忘死才换来了抗美援朝战争的胜利。春来了!白玉兰在宝山街头悄悄绽放尽管春寒料峭,在宝山街头,却已经有白玉兰趁着风和日丽的好天气抢先开花,把早春的芬芳传递给过往的群众。这棵率先开花的白玉兰位于宝山区友谊路北侧的绿化带里。2月20日早上,一些外出散步内功经云按肩以炼步,逼臀以坚膝,圆裆以坚胯任何一个行业,如果把事做绝把话说绝尽泄其一切潜规则及自然规则,则必遭群殴及遭天谴!圆裆不是一天就可以做好的,需要做到,顶,提,裹,撑。修正的时候,不要把其他太极拳要领都丢了,不可用太意外!国足8亿归化打水漂,李璇痛批陈戌源李铁,他们会否忏悔众所周知,归化球员高拉特最近转换会籍,正式宣告离开中国足球。据巴西媒体的报道,高拉特转换会籍重回巴西联赛,仅仅花费了250元而已。想当初,为了归化高拉特,花费的金额甚至超过了八亿元大一路驶过百年北京城随着时代不断变化的北京大一路的公交车型,唤起几代人的集体记忆。摄制组供图httpvod。cyol。comvoddatavideo20230223394511ec6e284369a8商鞅,张仪,范雎和李斯皆为外客秦臣,他们结局如何,相比如何?秦国从秦献公改革拉住衰败之势,到秦孝公变法图强,日渐崛起,再到秦始皇武力兼并六国,完成统一大业,除了秦国在正式进入战国时期历代秦君皆为明君雄主的原因外,还离不开一众外来士子人才的辅男子靠挨打为生,自称多年习武身硬如铁,直到记者找来了世界拳王常言道360行,行行出状元,然而画面上这位自称中国挨打王的男子,常年在闹市街头以挨打挣钱,我相信这样类似自残的行业,即便纵观历史恐怕也绝无仅有。谢水平男子名叫谢水平,45岁的他自称以案说法非北京生源在校生户口为何不能算北京市常住户口案件详情张三是中国财政科学研究院非北京生源2020年应届毕业生,2018年11月户口由辽宁省沈阳市迁至中国财政科学研究院集体户口中。张三在2019年报名参加北京市各级机关2020年谷爱凌入选劳伦斯世界体育奖候选人名单新华社日内瓦2月20日电(记者单磊)劳伦斯世界体育奖20日公布了今年各奖项的候选人名单,谷爱凌入围年度最佳极限运动员奖,是唯一一名入选2023年劳伦斯世界体育奖候选人名单的中国运动唐朝无飞机无汽车无高铁,唐朝人是如何游走世界?很多人都会有一个穿越去古代的梦想,带着超越古人千年的智慧,拥有一个超级厉害的人生,火力全开,智慧碾压。原本想借穿越之机走遍祖国的大好河山,将脚印踏遍曾经的每一寸土地,但日行千里的想再见!美媒提掘金3换1交易,他值得总冠军!要说对一位球员状态最大的浪费,那就是知道他在巅峰,但是球队却幻想着重建,而这就是目前开拓者的现状,在利拉德保持高效状态的当下,开拓者从管理层到教练团队对场上的布局都不是非常的合理,
万亿智能家居领域掀起新浪潮,行业间互联互通仍面临挑战培育新动能,壮大新实业。在粤港澳大湾区的建设背景下,湾区产业发展正加速蝶变之路。去年12月,南都湾财社以新实业率先破题,启动了湾区新实业深调研,聚焦新技术新制造新产业,推出了系列新比亚迪又火了!便宜的新能源小轿车之一只要你不是藤原拓海,其实大部分的车辆动力也都足够你日常使用了。不知道你有没有了解过今天介绍的比亚迪e2。现在就让大家跟着小编一起来看看它都有哪些表现吧。首先从外观来看,比亚迪e2车吃海鲜的季节,海边小城日照,能吃到什么样的便宜海鲜?随着海风渐凉,海是下不去了,海边散步风吹得人有点儿凉。然而上天是公平的,这个季节给了我们美味的海鲜。秋天是海鲜肥美的季节,也是开海的时候。日照沿岸各个渔村的渔民又繁忙了起来,打鱼的斥资2亿装修!山东大厦落子济南槐荫,预计明年五月投用近日,山东大厦颐览酒店项目合作签约仪式的举办,标志山东大厦西进正式落地,济南槐荫高端服务业升级迎来新动力。据了解,颐览酒店位于经十西路槐荫区政府东侧,经营面积约6万平方米,集住宿餐云南最受欢迎的4款小众白酒,都是纯粮佳酿还便宜,你喝过吗?导语云南最受欢迎的4款小众白酒,都是纯粮佳酿还便宜,你喝过吗?说到喝酒大省,大家应该都能想到山东或者江苏,这两个地方不仅名酒很多,而且当地的百姓对喝酒的热情那是全国闻名的。但其实中2007年渣滓洞被洪水毁坏,意外发现一地洞,洞中物品揭开沉痛历史华夏大地的西南处,有一座隐藏在郁郁丛林间的城市,名字起得也颇具喜气,叫做重庆。重庆,既有山城的别称,也有雨都的盛名。住在山城的父老乡亲,出门时往往会抬起头,看看天,要是有乌云密布的光遇小王子PK曙光季,礼包价格差异大,新礼包好便宜?光遇小王子PK曙光季,礼包价格差异大,新礼包好便宜?前言大家好,我是喜欢玩游戏聊游戏的孟婆小叔。国际服于本月17号,提前开启新季节Aurora季(下称曙光季)。官方在推送中,大概这10月17日,佛山新增本土确诊病例6例,具体详情公布10月17日024时,全市新增本土确诊病例6例,5例在纳入集中隔离的密切接触者中发现,1例为外省返佛人员主动核酸检测发现。个案1作为10月13日确诊病例的密切接触者被纳入集中隔离,新研究发现,重力仍在从深处塑造地球表面像所有行星一样,地球是重力的产物。渐渐地,越来越多的尘埃和岩石吸收了足够多的物质,形成了一个不断扩大的矿物球体,我们现在称之为家。直到今天,重力继续以比我们想象的更微妙的方式从内部比地球还水的超级地球被发现,或存在生命,人类可以移民吗?继开普勒太空望远镜之后,新的近日轨道望远镜苔丝接过了开普勒的重任,继续帮助人们向遥远的星空探索,越来越多的类地行星出现在了人们的视野中。近日,天文学家再一次发现了一颗超地球,令人振中国有必要开发人工智能东风导弹?让发射车隐身,美军无法发现?近期,印度媒体欧亚时报(EurAsianTimes)网站刊载了一篇文章,声称我国为东风系列导弹发展了一套隐身发射系统,打击范围可以覆盖到美国全境。文章还指出,我国已经将人工智能辅助