云原生数据中台:架构、方法论与实践
上QQ阅读APP看书,第一时间看更新

6.4 数据规范

数据规范是指进入数据中台的数据(输入)和数据中台提供的能力(产出)都必须符合的规范。很多大数据平台建设因为缺乏规范而产生了数据孤岛、应用孤岛和数据开发困难的问题。OneID、OneModel是解决数据规范的一种思路。例如,OneID要求对于一个业务实体在所有业务系统中使用同样的全局ID,OneModel的一个核心要求是派生指标名称由原子指标、周期、统计粒度、业务限定等维度来确定。

·数据规范的目的主要是可以对进入体系的数据和输出的数据能力进行通用管理,而不需要对每个数据源或分析程序都进行单独处理。除了常见的OneID和OneModel,数据规范还有很多,比如下面这些规范。

·数据存储的格式,例如Hadoop文本必须使用LZO压缩,宽表必须使用Parquet格式存储。

·数据库/表的命名规则,例如数据仓库中不同层次的表必须以其对应层次为前缀(ODS、DWD、DWS等)。

·表/字段元数据规则,例如表/字段必须有中文注释,统计指标字段的计算方式必须在注释中有介绍或链接等。

·数据隐私规则,所有涉及隐私数据的数据表和数据字段都必须在元数据或说明中标记相应的隐私类型,如privacy_user_address,这样在排查隐私数据和进行脱敏检查时会很方便。

·数据服务的命名规则和访问规则,例如,数据服务函数名称必须以其数据域加分析主题为前缀,数据服务函数必须在注册Session后使用,以便于统计。

·数据集的访问行为规范:是允许开放命令行访问,还是必须通过系统工具使用,使用前必须通过什么授权。

·数据表的默认字段要求,例如,是否在数据仓库的汇总表中加入created_at(创建时间)、updated_at(修改时间)、job_id(任务ID)这样的字段,以便于变更数据处理及任务管理。

数据规范与传统的数据标准并不是一个概念。很多行业数据标准描述了具体业务数据必须符合的业务规则,例如,2020年5月中国银保监会下发的《中国银保监会办公厅关于开展监管数据质量专项数据治理工作的通知》中,要求“监管数据包括:非现场监管(1104)、客户风险、监管数据标准化(EAST)、保险统计信息、保险偿付能力、保险资金运用等系统采集的数据核心监管指标。数据质量主要包括数据真实性、准确性、完整性”。而我们这里所说的数据规范更多的是数据中台体系本身的运营对数据和数据应用的要求,与具体业务关联不大。例如,之所以提出上面例子中的默认字段要求,是因为我们在工作中发现,如果一个汇总记录不加上created_at或updated_at字段,在后续使用和管理中就会丢失其变更历史,在使用和排错时将会遇到非常大的困难。

也许数据规范中最重要的是OneID和OneModel,而在建设数据中台的过程中,我们会发现,其他数据规范对于数据中台的顺利运营也非常重要。我们可以从一些基础数据规范出发,逐步完善,最终形成适合企业具体数据形式和IT架构的数据规范,指导数据中台的运营。更重要的是,要通过工具来实现这些数据规范,而不是靠一个文档,更不能靠IT或数据工程师的口口相传。