hhdb数据库介绍(10-32)
管理
数据归档
数据归档支持对对于日志流水类型的表,按照时间定期对历史数据进行归档,转储非生产存储,清理生产历史数据,同时支持对归档数据进行实时查询。
数据归档规则列表展示了每条规则的详情信息,包括:归档名称、逻辑库、表信息、归档方式、归档存放目标、数据保留时长、下一次归档时间。
归档规则配置
功能入口:“管理->数据归档->归档记录查询”
-
搜索:归档列表信息过多时,可通过逻辑库名、表名。也可以在搜索框输入归档名称的关键字进行模糊搜索。
-
配置归档用户:自动展示对应的连接的数据库用户名,需确保此数据库用户有对应的归档规则权限。
- 排序:归档名称、逻辑库、表信息均可排序显示。
添加归档规则
一个归档规则中可以对同一张表同时进行多个目标的数据归档。
(一)功能入口:“管理->数据归档->归档规则配置->添加归档规则”
(二)添加归档规则说明
- 归档名称:必填项,用户需自定义此数据归档的名词。
- 逻辑库:必填项,列出当前管理平台上所有的逻辑库。
- 表名称:必填项,选择逻辑库后,会自动带出相关逻辑库下的所有表(仅展示配置用户所具备所有权限(SELECT、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP)的表)。
- 日期字段:必填项,列出对应的表的日期字段(此字段的类型必须为date、datetime、timestamp类型)。若归档方式选择“分区归档”,则此字段必须为主键之一。
- 归档方式:必填项,列出对“分区归档”和“条件归档”。
“分区归档”:将原数据表按照日期字段进行分区进行数据归档。
“条件归档”:将原数据表按照条件的配置进行数据归档。
当归档方式选择“分区归档”时,会自动弹出备用分区,默认为5个。 - 归档周期:必填项,可以选择“每天”、“每月”、或“每年”。
选择的周期单位与“数据保留时长”、“归档数据保留时长”一致。 - 数据保留时长:必填项,指定将原表数据保留为多少天/月/年,计算节点会根据此配置进行执行对应数值的where条件语句筛选以及分区的自动创建。
- 归档时间窗口:必填项,用户自定义配置允许数据归档任务执行的时间范围。
- 超时时间:必填项,用户自定义配置数据归档任务超时的时间,若归档时长超时,则对应的归档任务会自动停止,本次任务已归档的目标数据会自动回滚。0表示不限制超超时时间
- 归档存放目录:必填项,用户自定义配置数据归档的目录,分为:表、本地文件、nfs文件、S3存储。
表:会将需要被归档的数据归档至指定的表内。
①“自动创建新表”:则会自动创建与原表表结构一致的表,但可以自定义指定数据节点。
②“使用内部已创建表”:由用户自定义指定将归档数据归档至哪个表内。
③“使用外部已创建表”:此表还支持DBLINK外部表,可以指定对应的外部表进行归档数据的导入。
本地文件:会将需要被归档的数据归档至指定的本地目录内。
①“本地路径”:由用户自定义指定将归档数据归档至哪个目录。文件名格式为:
1)保留的单位为天:<原表名>_<年月日>,示例:逻辑库test表table1,后缀为:test_table1_20230725
2)保留的单位为月:<原表名>_<年月>,示例:逻辑库test表table1,后缀为:test_table1_202307
3)保留的单位为年:<原表名>_<年>,示例:逻辑库test表table1,后缀为:test_table1_2023
②“压缩方式”:支持对数据归档的数据进行压缩,压缩方式分为以下几种:
1)NONE:此项是不进行压缩,默认采用不压缩。
2)LZ4压缩方式。
3)ZLIB压缩方式。
4)ZSTD压缩方式。
③“副本复制方式”:“由主计算节点往所有计算节点发送归档数据”和“ 由管理平台将主计算节点的归档数据发送至其他所有计算节点”两个选项。
1)“由主计算节点往所有计算节点发送归档数据”:表示所有的各个计算节点均会写一份数据(含灾备机房)由主计算节点往所有计算节点发送归档数据。如下图所示:
2)“由管理平台将主计算节点的归档数据发送至其他所有计算节点”:表示的是仅中心机房的主会写数据,然后管理平台下发命令,使得中心机房的主通过SCP的方式依次复制到中心机房的备计算节点,再灾备机房的主节点节点,再灾备机房的备阶段节点。如下图所示:特殊说明:此处的复制方式会有一定的数据归档延迟。
④“加密方式”:支持对数据归档的数据进行加密,加密方式分为以下几种:
1)NONE:此项是不进行加密,默认采用不加密。
2)3DES加密方式(需加秘钥)。
3)AES加密方式(需加秘钥)。
4)SM4加密方式(需加秘钥)。
NFS文件:会将需要被归档的数据归档至指定的NFS目录内,此处的配置可以参考本地文件的配置信息,此处不再赘述,唯一不同的点在于,仅在主计算节点所挂载的NFS文件路径进行数据的归档。
S3:会将需要被归档的数据归档至指定的S3对象存储内。
①“配置方式”:分为“ENDPOINT”和“REGION”。
1)当配置为“ENDPOINT”时,则需要配置对应的URL信息。
2)当配置为“REGION”时,则需要配置对应的区域信息。
②“秘钥ID”、“秘钥”、“存储桶”均为S3对象的一些信息配置,由用户自己自定义配置。
③“压缩方式”:支持对数据归档的数据进行压缩,压缩方式分为以下几种:
1)NONE:此项是不进行压缩,默认采用不压缩。
2)LZ4压缩方式。
3)ZLIB压缩方式。
4)ZSTD压缩方式。
④“加密方式”:支持对数据归档的数据进行加密,加密方式分为以下几种:
1)NONE:此项是不进行加密,默认采用不加密。
2)3DES加密方式(需加秘钥)。
3)AES加密方式(需加秘钥)。
4)SM4加密方式(需加秘钥)。
- 是否删除已归档数据:必填项,默认为是,原数据表的数据进行的处理模式。
是表示,会将已归档的数据从原表中进行删除。
否表示,会保留已归档的数据,不会从原表中删除。
配置原数据表删除的情况下,计算节点在执行归档数据时,不覆盖目标文件;配置原数据表保留的情况下,计算节点在执行归档数据时,覆盖目标文件。 - 归档数据保留时长:此语句主要是对计算节点执行此归档任务时抽取原表内需要归档的数据至目标归档对象内时,所需要的并发数的配置。
- 操作线程数:必填项,用户自定义配置计算节点执行此归档任务时抽取原表内需要归档的数据至目标归档对象内时,所需要的并发数的配置。
- 各线程归档行数:必填项,用户自定义配置每个进程处理多少个行数据。
编辑归档规则
功能入口:“管理->数据归档->归档规则配置->编辑规则”、
编辑规则填写与单个添加的规则填写遵循同样的说明逻辑;但无法修改“归档名称”、“逻辑库”“表名称”。 需要确保配置的归档用户对数据归档规则所在的逻辑库具备ALTER权限,以及对原数据表具有所有权限。
删除归档规则
功能入口:“管理->数据归档->归档规则配置->删除规则”
- 归档规则也可批量删除,需要先选择多个归档规则。
- 需要确保配置的归档用户对数据归档规则所在的逻辑库具备DROP权限,以及对原数据表具有所有权限。
启用归档规则
功能入口:“管理->数据归档->归档规则配置->启用该归档配置”
- 生效某数据规则(一般是在数据归档任务在被停用时进行的操作)。主要是控制数据归档规则是否启用,有以下逻辑需要特殊注意:
- (1)数据归档规则处于启用(enabled)状态时(有数据正在进行归档,任务状态为running/paused/stopping),允许重复执行此命令。
- (2)数据归档规则处于启用(enabled)状态时(没有数据正在进行归档,任务状态为succeed/failed),允许重复执行此命令,但需要保持原状态不变。
- (3)数据归档处于停用(disabled)状态时,正常执行此命令,执行语句后,后台根据配置的PERIOD的时间窗口进行执行相关归档任务。
- 归档规则也可批量启用,需要先选择多个归档规则。
- 需要确保配置的归档用户对数据归档规则所在的逻辑库具备CREATE权限,以及对原数据表具有所有权限。
停用归档规则
功能入口:“管理->数据归档->归档规则配置->停用该归档配置”
- 停用某数据规则(一般是在数据归档任务在被启用时进行的操作)。主要是控制数据归档规则是否停用,有以下逻辑需要特殊注意:
- (1)数据归档规则处于启用(enabled)状态时(有数据正在进行归档,任务状态为running/paused/stopping),不允许执行停用操作。
- (2)数据归档规则处于启用(enabled)状态时(没有数据正在进行归档,任务状态为succeed/failed),正常执行此命令后,后续的PERIOD时间不再生效,此数据归档规则不再运行。
- (3)数据归档规则已处于停用(disabled)状态时,允许重复执行此命令。
- 归档规则也可批量停用,需要先选择多个归档规则。
- 数据归档规则已处于停用(disabled)状态后,所有的数据归档任务均不再运行。若有数据归档任务处于paused状态,则在数据归档规则在被启用(enabled)后,数据归档任务仍然按照之前的状态继续运行。
- 需要确保配置的归档用户对数据归档规则所在的逻辑库具备CREATE权限,以及对原数据表具有所有权限。
暂停归档规则
功能入口:“管理->数据归档->归档规则配置->立即结束当前任务”
- 暂停某数据规则(一般是在数据归档任务在被启用时进行的操作,且有正在进行归档的数据任务)。主要是控制数据归档规则是否停用,有以下逻辑需要特殊注意:
- (1)数据归档规则处于启用(enabled)状态时(任务状态为running)则正常执行此命令,计算节点会自动记录当前已经归档的数据,等待下次归档。
- (2)数据归档规则处于启用(enabled)状态时(任务状态为paused),不允许执行此命令。
- (3)数据归档规则处于启用(enabled)状态时(任务状态为failed),不允许执行此命令。
- (4)数据归档规则处于启用(enabled)状态时(任务状态为stopping),不允许执行此命令。
- (5)数据归档规则处于停用(disabled)状态时,不允许执行此命令。
- 数据归档任务状态为paused时,等到下一次PERIOD窗口时间开始进行执行,执行成功则为succeed,失败则为failed,时间窗口的结束时间点还未完成则自动停止为paused。
- 需要确保配置的归档用户对数据归档规则所在的逻辑库具备CREATE权限,以及对原数据表具有所有权限。
中止归档规则
功能入口:“管理->数据归档->归档规则配置->立即中止当前归档”
- 停止某数据归档任务(一般是在数据归档任务在被启用时进行的操作,且有正在进行归档的数据任务)。有以下逻辑需要特殊注意:
- (1)数据归档规则处于启用(enabled)状态时(有数据正在进行归档,任务状态为running/paused),则正常执行执行此命令,执行后,此任务状态变更为stopping(此过程会有数据回滚的操作),等待回滚执行完成后,然后再变为failed(不论是否回滚成功),错误提示信息给出:manual stop。(若回滚失败的话,自动展示具体原因)
- (2)数据归档规则处于启用(enabled)状态时(没有数据正在进行归档,任务状态为succeed/failed),不允许执行此命令。
- (3)数据归档规则处于启用(enabled)状态时(任务状态为stopping),不允许执行此命令。
- (4)数据归档规则处于停用(disabled)状态时,不允许执行此命令。
- 停止数据归档任务,仅回滚本次任务中最新一天的已归档的数据。
- 需要确保配置的归档用户对数据归档规则所在的逻辑库具备CREATE权限,以及对原数据表具有所有权限。
立即执行一次归档
功能入口:“管理->数据归档->归档规则配置->立即执行一次归档”
-
开启执行某数据归档任务(一般是在数据归档任务处于启用状态时进行的操作)。有以下逻辑需要特殊注意:
- (1)数据归档规则处于启用(enabled)状态时(有数据正在进行归档,任务状态为running/stopping),不允许执行此命令。
- (2)数据归档规则处于启用(enabled)状态时(没有数据正在进行归档,任务状态为paused/succeed/failed),则允许执行此命令,执行后,此任务状态根据实际情况进行变化。
- (3)数据归档规则处于停用(disabled)状态时,不允许执行此命令。
- (4)执行任务时,正在进行的(需要被归档但还未被归档的数据)不允许被修改或删除。
- (5)归档完成后,若配置的clear origin,需要清理原表已归档数据,根据配置按照where条件删除或者删除分区。
- (6)执行失败时,回滚本次任务中已被归档的数据。
- (7)已成功执行一段时间,中途出现了失败,则仅回滚当天的已被归档的数据,以往的数据不做回滚。
-
首次执行时(即PERIOD的时间还没到,规则还在等待时间执行归档,此时手动执行此命令),首次运行失败/超时,则直接回滚已完成的操作。
-
需要确保配置的归档用户对数据归档规则所在的逻辑库具备CREATE权限,以及对原数据表具有所有权限。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了