APP下载

BKR体系下的数据加工规范设计

2021-03-07王树明吴时清吴蓓蓓

电子技术与软件工程 2021年24期
关键词:数据表数据中心规范

王树明 吴时清 吴蓓蓓

(1.中国烟草总公司湖北省烟草专卖局信息中心 湖北省武汉市 430030 2.武汉楚烟信息技术有限公司 湖北省武汉市 430030)

1 引言

大数据时代,数据治理是所有公司面临的巨大挑战。没有数据,企业缺乏用于做决策的数据的支持,可是有了越来越多的数据,必然增加了管理数据的成本。将数据有效的组织起来,并让其产生价值,成为一个亟待解决的问题[1]。数据治理的核心问题就是数据加工规范,所有的治理工作都是围绕这个核心进行的,正因如此,建立起适应企业需求的数据加工规范对于企业变得越来越重要。

2 湖北烟草数据的现状

随着湖北省烟草数据信息化工作的快速推进,数据中心在数据采集、加工、共享等方面的管理工作日显滞后,导致以下问题长期存在:

(1)数据质量不高,“脏数据”、错数据不断产生,既包括源端业务系统的基础数据,也包括入库后因加工过程不规范而产生的分析型数据。

(2)数据接口混乱,由于数据获取与开发不规范、数据接口管理措施缺失等原因,数据接口泛滥,“数入多库、据出多门”的现象比比皆是[2]。

为支撑湖北烟草数字化转型,支撑日益普遍的创新应用和数据运营的服务需求,湖北省局(公司)重新梳理了整个系统的数据分布,如图1所示。数据从源端业务系统进入数据中心后,经历了BKR体系的清洗转换、汇聚加工、分级存储,最后向不同的主题提供数据服务。BKR体系是数据中心实现数据治理的核心理念。

图1:湖北烟草数据总体分布框架

3 数据中心内的BKR体系

描述数据汇聚加工的模型有多种,结合湖北烟草数据加工、管理的现状,立足于统一、规范的管理目标,设计并采用了BKR体系,建立了湖北烟草数据中心数据加工规范,其中包括库内数据表分层规范、数据表命名规范、数据表共享规范、血缘分析规范等。

3.1 分层规范

数据中心内的表分三个层级,并严格遵守数据分层存储、层级间加工转换的规则。这三个层级分别为是B 层、K 层、R 层。

B 层(Base):基础业务数据层,主要存放基础业务数据(即B 表)。它是数据中心的数据基础和数据缓冲。B 层数据一般保留“范式化”结构,也被称为“贴源”层。

K 层(KPI,Key Performance Indicators):汇聚加工层,B 层的数据通过转换和整合,得到加工过程数据(即K 表)。K 层数据有三种来源:

(1)B 层数据整合或者聚合得到,这是K 层数据最基本的来源;

(2)B 层和K 层数据进行二次或者多次整合得到;

(3)多个K 层数据进行再次整合得到。

R 层(Reports):报备指标层,是可直接对外提供服务的数据,可直接支撑各类数据应用。其数据来源于B 层或者K 层数据的整合或聚合,其主要服务对象是数据分析、统计报表、驾驶舱等应用。

每个服务主题均对应一个或多个B 表或K 表,但是B 表、K表粒度细、数据量庞大,不利于在线查询分析。所以在此基础上定义数据的维度、粒度属性,建立数据汇集路径,形成维度降低的R表,以提高查询分析的效率,并满足最大程度的复用性要求。另外,R 层数据不可由R 层自身数据表整合而来。库内数据表的分层/转换规范如图2所示。

图2:库内数据表分层/转换规范

3.2 命名规范

3.2.1 B 表

B 表来源于源端业务系统,即基础业务层的原始粒度数据,因此B 表命名必须反映源端业务属性。B 表命名规则是:

实体编码 = T_B_业务域编码_实体代码

如:零售户客户订单(T_B_FN_CUSTOMER_ORDER)。

3.2.2 K 表

B 表经加工后形成共享程度高,可支撑核心指标与业务报表的中间表,即K表,因此K表命名必须反映指标主题和字段/维度属性。K 表命名规则是:

实体编码 = T_K_主题代码_维度组合

如:T_K_销售_日_单位_卷烟(T_K_SELL_DAY_CORP_CIG)。

3.2.3 R 表

将数据按业务单元、服务主题进行加工整合,最终形成指标并对外提供数据服务的数据表为R 表,因此R 表命名必须反映报表主题和应用概述。R 表命名规则:

实体编码 = T_R_报表主题_分析应用简写

如:T_R_ 领导首页_ 卷烟市场动态分析(T_R_LD_CIG_MARKET_DYNAMIC_ANALYSE)。

有了命名规范以后,可以定期利用逆向工程导出数据中心的sql 脚本,并进行文法分析,以自动的筛选出不符合BKR 分层规范的模式和表格。

3.3 共享规范

从溯源的视角来审视湖北烟草数据加工模型,即为每张表添加从“主键”到“外键”或从“分散”到“汇总”的逻辑索引,用索引的“入度”和“出度”衡量每张数据表的生成代价和共享程度。其中,“入度”表示数据表的加工复杂程度,理论上讲,“入度”值大,表示该数据表的加工过程所依赖的数据表多,加工消耗资源大,即生成代价大;反之,“入度”值小,表示生成代价小。“出度”表示数据表的共享程度,“出度”值大,表示该数据表的共享程度高;“出度”值小,表示该数据表的共享程度低。数据表汇聚加工应满足“入度”足够简单,“出度”足够宽,体现数据加工过程高内聚、松耦合、高复用的优化原则。

单纯以“入度”和“出度”来判断每张表的共享程度,只能反应局部特性,湖北烟草加工模型从BKR体系的整体视角提出了互为对偶的两个全局指标——“共享度”和“依赖度”。通过改进的PageRank 算法可以评估每张表的这两个指标,并为不断迭代的数据模型提供重要的参考依据。

3.4 BKR血缘关系

厘清BKR 三层数据间的血缘关系[3],展现数据从源端业务系统到当前位置的完整路径。当链条中某一数据表发生变化时,向上评估其变化的影响范围,包括但不限于相关的K 表及表内数据、R表及表内数据、数据服务内容等;向下追溯其变化的来源,包括但不限于B 表及表内数据、源端业务系统等。

4 支撑BKR体系的接口规范

BKR 三层体系是数据中心的核心模块,为了能够稳定可靠的运营和维护这个体系,还需要建立一套完善的接口规范,并对接口进行统一管理。原则上各业务系统只与数据中心进行数据交换,业务系统间不直接进行数据交换。数据接口有三种类型:

(1)数据入库接口,即数据从业务系统流入数据中心的数据接口;

(2)数据出库接口,即数据从数据中心流出到业务系统的数据接口;

(3)库间接口,即数据在数据中心各库间流转的数据接口。

4.1 接口设计规范

接口设计应满足以下要求:

(1)充分理由:任何接口存在应有充分的理由,尽可能避免出现无意义接口。

(2)职责明确:一个接口只负责一类数据传输,尽可能避免同一接口传输内容过于复杂。

(3)高内聚低耦合:一个接口包含一类完整数据,不同接口之间的业务、数据关联应尽可能小。

(4)分析角度明确:设计接口分析的角度要统一明确,应按照业务域、业务环节角度分析设计。

(5)数据量控制:一个接口不宜返回过多数据量,为减少数据处理及传输压力,应对接口进行合理划分。

4.2 接口编码规范

数据中心通过建立标准的接口模型,规范数据从业务系统到数据中心的采集转换过程。接口模型包含业务域实体、业务系统实体、接口目录实体、接口单实体和接口文件实体,如图3所示。

图3:数据接口模型

接口单元编码规则是由10 位字符表示,如图4所示。

图4:采集接口单元编码规则

4.3 接口实现规范

数据中心常用的接口实现方式有四类。

4.3.1 库表复制

是使用ETL(Extract-Transform-Load,数据抽取、转换和加载)工具,基于SQL 数据库复制批量数据的技术,是源端业务系统数据进入数据中心的主要方式。库表复制适用于大多数情况下批量数据非实时、准实时的数据传输与转换。

4.3.2 HTTP 接口

是一种基于HTTP 服务的API,是系统之间交互的一种约定。HTTP 接口适用于跨系统的实时数据交互。通过HTTP 接口方式进行数据对接,要明确接口基本信息、请求参数和返回数据等内容。

4.3.3 文件方式

是输入和输出以文件或文本方式进行的数据接口实现方式,适用于对时效性要求较低,超大批量数据导入、导出。通过文件方式进行数据对接,需明确文件名和文件格式。

4.3.4 其它方式

用于未来更多类型数据(如非结构化数据)与数据中心交互扩展。

4.4 接口管理规范

数据运维团队是数据架构和业务数据的维护和管理者,负责按照数据主管部门要求,开展数据接口的统一管理、运行监控、策略维护等工作,响应数据接口新增、变更及删除(作废)需求,进行数据需求分析、接口影响分析,并牵头制定接口维护方案,执行维护操作,发布并更新接口资源目录。

5 总结

湖北烟草数据治理的工作核心是在数据中心建立完善的BKR体系,并围绕该体系建立起一系列标准和规范。该体系已经在湖北省公司的烟叶系统中逐步展开,并取得了初步成效。今后将继续完善和细化该体系,并进一步推广到烟草的营销、物流、专卖、审计等其它业务领域。

猜你喜欢

数据表数据中心规范
酒泉云计算大数据中心
来稿规范
来稿规范
来稿规范
基于列控工程数据表建立线路拓扑关系的研究
民航绿色云数据中心PUE控制
基于云计算的交通运输数据中心实现与应用
图表
基于VSL的动态数据表应用研究
Overlay Network技术在云计算数据中心中的应用