电网数据中台存储优化

2023-12-27 13:05向柯宇蒋广曹杰凌笑
计算技术与自动化 2023年4期
关键词:存储资源中台快照

向柯宇,蒋广,曹杰,凌笑

(1.国网湖南电力有限公司信息通信分公司,湖南 长沙 410029;2.电力物联网湖南省重点实验室,湖南 长沙 410029)

为优化电力企业信息化建设过程中各业务专业构建“烟囱式”系统产生的数据孤岛体系架构[1],解决该模式建设成本高、周期长、数据不共享、质量低等问题[2],加快企业数字化转型步伐,关键是构建数据中台,实现企业数据业务化[3],数字中台的定位是企业数字能力共享平台,以统一的标准和流程规范,帮助企业实现业务互联互通[4]。

数据中台是企业中台的一个重要组成部分,传统企业相较于互联网企业,其特点是中台能有效连接传统业务系统(后台)和新的业务应用(前台)。数据中台包含的一个核心架构部分是公共数据层,主要是将中台汇聚的源端业务系统数据,构建成统一公共数据模型,存储在数据仓库中[5]。

数据中台运营过程中,需要重视数据的生命周期[6],及时评估数据存储资源占用,采取降低存量、控制增量等措施进行成本控制,同时也是确保数据中台健康稳定运行的必要条件[7]。中台数据存储压力主要来自业务数据量逐年高速增长,远高于企业每年的存储预算增加量;因此需通过存储优化降低成本,首先需要对数仓中的数据进行分析,按照数据使用频率将其分类为冷数据和热数据。冷数据定义为很少被用户使用,调用频率非常低,中台需采用较低的存储成本解决方案优化冷数据保存问题[8]。

电网数据中台数仓模型表多为按日期分区存储的全量表,针对做冷数据存储优化,可采用拉链表和历史数据归档等技术,拉链表在不影响搜索效率的前提下,可以大幅节约存储空间[9],历史数据归档则是将不活跃的数据存储到离线归档平台中,可实现中台数仓瘦身,并在业务有历史数据查询需求时,完成已归档数据恢复操作[10]。

1 电网数据中台现状

在总部统推阿里数据中台的使用过程中,湖南公司积极推广数据中台并支撑业务部门及地市公司400余个大数据应用,按照数据汇集中台的工作要求,在贴源层和共享层存储了公司绝大多数业务系统数据、公共模型数据。

国网湖南省电力有限公司数据中台通过对全域海量数据进行采集、计算、存储、加工,形成统一数据标准和口径,并对外提供统一的数据服务,支撑公司各部门各单位大数据应用开发和使用。

中台数据存储计算方面,包括ODPS、Blink、TSDB、RDS、OTS、ADB、ES、OSS等组件,其中ODPS组件提供分布式数据仓库和离线计算服务;Blink组件用于流式数据实时计算;TSDB组件用于时序数据存储及查询;RDS组件提供关系数据库服务;OTS组件用于海量结构化数据存储;ADB组件用于大数据量关联分析;ES组件用于大数据量点查及固定报表分析;OSS组件可用于存储非结构数据。

其中ODPS组件主要作为数据仓库支撑中台离线数据分析场景,该类场景重点基于结构化数据、量测数据,经过数据接入、数据整合(量测数据关联计算或清洗转换)、(宽表)逻辑处理或分析模型运算、服务封装发布等环节后,满足应用T-1数据分析需求。

然而,随着公司业数融合及相关大数据分析应用的工作持续推进,在管理部门对资源精益管理的要求下,对数据中台的稳定支撑和资源有效利用提出了更高的要求;目前,ODPS组件存储使用率已超过70%,按照往年中台存储数据增长速度评估,已无法支撑明年的相关中台数据汇聚和加工存储需求,因此亟待对数据中台存储资源开展探索优化。在关于电网中台数据的储存方面,对冷热数据划分、数据分类清理、数据存储结构优化这些相关技术缺少了技术探索和验证,因此在中台存储优化领域里还有很大的探索空间,以支持资源更为有效使用。

2 存储资源优化策略设计

为有效、充分利用好数据中台ODPS存储资源,湖南公司组织技术骨干进行研讨探索,制定了存储优化策略,在为应用程序和用户提供所需的存储容量的基础上,通过划分冷热数据并对冷数据进行拉链或归档,从而避免未使用或过度配置的存储问题;经实际使用验证,该存储优化策略能更好地利用中台ODPS存储资源,降低管理不必要的存储所带来的成本和复杂性。

2.1 存在问题

2020-2021年,按照国网统推阿里数据中台技术架构,完成自建开源大数据平台全量数据链路迁移工作,初步构建以Dataworks、Datahub、Blink、RDS等云上组件为支撑的湖南阿里数据中台,探索完成离线大数据加工和实时数据分析技术路线,形成典型场景,对外提供数据服务API及自动报表支撑全省各单位大数据应用。但是,迁移过程中产生的各类无效数据存在部分未清理的情况。

同时在阿里数据中台建设过程中,业务方大量数据分析应用也产生了较多导致ODPS存储使用率低的问题。经核查分析,主要分为表使用频率低、表存储设计不合理以及表数据重复无用等情况。具体内容见表1。

2.2 解决方法

围绕电网中台存储资源优化这一目标,针对目前湖南数据中台存在的多种导致存储使用率低的问题,从问题产生原因展开分析,确定合理有效的解决方法。

一是表使用频率低问题,针对表数据的申请使用频率高低排名及划分阈值,可将中台表数据作冷热划分,定时将冷表的数据归档或同步至对象存储OSS组件。

表1 中台储存资源不合理情况

二是表存储设计不合理问题,针对此类按天分区的全量快照表,相邻分区间的数据重复度非常高的情况,采用拉链存储设计,通过提高压缩率,更高效利用中台ODPS数仓存储资源。

三是表数据重复无用问题,定期整理各空间中由于测试产生的各种临时表,并检查名称相近表是否存在业务数据重复存储,对于疑似数据开展分析,删除多余表只保留其中一张即可。

3 优化策略实施成效分析

3.1 归档冷数据

3.1.1 冷热数据划分

通过阿里数据中台自带的数据地图等组件,结合中台元仓的表调用频率情况等数据,按照自定义阈值,开展中台冷热数据表划分,并将排查出的冷数据表整理汇总成清单。

3.1.2 执行归档

对照梳理的中台冷数据表清单,对占用存储较高的表按分区进行归档操作。

-------------------------------------------

——对该表分区日期20220320至20220325进行了归档

Alter table prj_hn_ods_dev.test_ydcj_hncxeic_t_org_timely_rate partition(ds='20220325') archive;

-------------------------------------------

归档后,该表对应的阿里云平台底座盘古系统文件数少了 4/5,归档前物理文件大小与归档后物理文件大小之比为10∶1,对比见图1。

图1 中台冷数据表归档前后物理文件对比

3.1.3 归档数据同步至OSS

对于表不适合做拉链存储等优化,又不能直接将数据删除掉,可以选择将数据归档至OSS,若需要在ODPS中使用,则将数据同步回来或者创建外部表读取即可。具体分为两步:

一是配置数据双向同步,操作见图2。

二是创建OSS外部表,包括:授予Dataworks操作账号与OSS中bucket的权限、创建分区表或者非分区表,操作见图3。

图2 配置归档数据双向同步

图3 创建分区表

3.2 拉链表优化存储

3.2.1 拉链处理

首先,创建拉链表并初始化数据,通过计算MD5值,比对T日、T-1日切片数据,生成增量表,获取T日新增和修改的数据、T日已不存在且需要打标D的数据。

其次,删除分区日期为大于等于跑批日期的,把修改和删除的记录作为打标为D的插入归档结束日期为跑批日期分区数据。

再次,把新增和修改的比对结果记录打标为新增插入中间表,且开始归档日期为跑批日期;把拉链表中除去当天跑批日期的最新有效数据且不在增量表的数据插入中间表。

最后,删除拉链表中最新数据,把中间数据插入拉链表最新分区数据。

-------------------------------------------

——删除拉链表中最新数据

——把中间数据插入拉链表最新分区数据

alter table prj_hn_dwd_dev.un11_02_pms_t_pwyx_pbrjzb_all_d_cur drop if exists partition(arch_end_date='99991231');

insert into prj_hn_dwd_dev.un11_02_pms_t_pwyx_pbrjzb_all_d_cur partition (arch_end_date='99991231')

(xxx,xxx )

select xxx,xxx from prj_hn_dwd_dev.un11_02_pms_t_pwyx_pbrjzb_all_d_mid;

-------------------------------------------

3.2.2 数据验证

对比查询原表某一分区数据和拉链表对应分区的全量历史快照数据,验证拉链技术优化存储后相关数据的完整性。验证结果见图4。

图4 拉链操作数据完整性验证

3.3 重复无效数据清理

3.3.1 无效和临时数据清理

定期根据数据的访问、引用热度等信息来筛选出临时表/无效表清单,经人工审核确认后做删除处理。临时表可以通过命名规则来筛选,无效表需要通过多种维度来筛选,如读取次数,最后访问时间等,这些数据主要通过元仓表来统计。

统计操作主要包括:

(1)统计所有表的读取次数排名,获取读取次数为0的表。

(2)通过临时表命名规则筛选临时表。

(3)统计最后访问时间,获取长时间未访问的表。

图5 临时表/无效表统计操作

3.3.2 重复数据清理

查找表名相近和相似表清单,首先人工粗粒度或脚本对字段名做相似度分析并筛选是否存在表字段内容一致情况较高的现象,若存在,使用脚本进一步判断数据是否在内容上一致,再结合业务需要,人工审核。

3.4 成果成效

借助对冷数据表归档、全量快照表拉链、无效数据清理等存储优化手段,湖南公司中台ODPS数仓存储使用效率有了很大的提升。

具体成果如下:

针对冷数据表,归档操作会将数据存为raid file,采用bzip2算法,保存6份数据+3份校验块的方式,存储比从1∶3提高到1∶1.5,降低了数据被删除的风险,提升中台ODPS数仓存储资源使用效率;转存OSS后可通过数据存储工具的交互灵活处理和查询归档数据。

对数据重复度高的按天分区全量快照表,进行拉链表处理;使用快照表存储数据,每个ODPS的数据分区都会存储一份数据,而拉链表只存储了一份数据。因此拉链表相比原快照表具有更低和更合理的存储量,在合适的场景下,约能压缩为原始数据的1/30,压缩比见表2。

表2 快照表和拉链表一个月数据存储对比

清理重复无效数据表,优化数据中台的存储占用,同时提升中台用户和运维人员数据检索效率,优化中台数仓使用体验。

4 结 论

针对电网数据中台进行存储策略优化,借助冷数据表归档、全量快照表拉链、无效数据清理等手段,降低成本,使运营效率更高,存储资源得到更好的利用。同时给中台数仓表带来更好的读写性能、可用性和可靠性,从而提高工作人员的生产率和客户满意度。还提供了更好的数据可见性,可以更轻松地从数据中提取分析,助力业务方基于中台数据简便、快速完成小而美的大数据应用开发。

猜你喜欢
存储资源中台快照
EMC存储快照功能分析
一种基于区块链的存储资源可信分配方法
中台是媒体转型必经之路吗?
——媒体中台建设的特点和误区
关于零售企业“中台”建设的研究
汽车制造企业质量中台研究
以技术开发中心为中台,数字化转型之见解
创建磁盘组备份快照
用SSD提升私有云存储性能
数据恢复的快照策略
一张“快照”搞定人体安检