漫谈数据治理之四:企业数据该怎么搞

|0x00 企业数据的特点

在绝大多数的互联网公司中,数据仓库都是面向用户的数据建设,如广告、电商、游戏等,相对而言都有比较稳定的业务形态和统计方式。但有一个方向是例外的,那就是企业数据。不论是阿里、腾讯,还是传统的大企业,任何一家企业做大了之后,内部的组织和管理方式都是非常复杂的,且变动频繁的,如果数据团队面向的是企业数据建设,数据治理的场景、方式都会有很大的部分,本篇文章重点分析一下企业数据的治理方式。

从两个方面来谈一下企业数据的特点:业务方面和系统方面。

首先说业务方面,有四个特点:

  1. 不同主题的数据相对独立:与用户数据较强的关联性不同(例如用户-渠道),企业数据的业务概念相对独立,行政、法务等主题很难有业务上的共性,唯一能产生交集的是员工/组织数据。
  2. 部分业务变动较快:以组织数据为例,由于企业经常有战略调整,而战略调整的重点就是组织架构,因此有关的数据统计,在与历史指标对比时,往往会产生非常大的误差。
  3. 数据分析场景十分泛化:由于企业数据的需求方不是来自于业务驱动部门,而是来自于高层管理者,因而往往会有非常个性化的数据需求。例如不用的高层对于招聘流程的理解就不同,有的非常关心各个环节的情况,有的就只关心社招数据。
  4. 数据安全要求很高:企业数据往往是企业的核心资产,带有大量的机密信息,因而不论是存储还是查询,管理都非常的严格,一旦泄露,会产生非常严重的公关危机。

再说一下系统方面,有两个特点:

  1. 模型变动频繁:数据模型是数据的业务体现,因而如果企业的组织或运行方式发生变化,数据模型也要随之变化,带来的历史数据查询、统计指标修改等工作量非常大。
  2. 数据质量不规范:由于企业数据不像用户数据那样,有非常标准的收集和过滤方式,企业数据往往来自于人工维护,因为在格式、完整性等问题上会出现较多问题,数据往往要做最后的逻辑兜底。

|0x01 企业数据的建设方法

企业数据的建设与用户数据类似,但在细节上会存在一定的不同,接下来一一讲解不同的地方。

首先看数据分层:企业数据建议按照ODS、CDM、ADS的方式进行划分。其中,CDM可以分为维度部分DIM、清洗部分DWD、中间层DWS三个模块,但相对之间是独立的,不存在上下流动关系。数据只能从ODS流向CDM再流向ADS,这样做的好处是降低层级之间的依赖,便于对基础数据做统一的维护和管理,避免独立业务的数据来回流动带来的口径不一致等问题。

其次看模型建设:与维度建模在用户数据的广泛应用不同,企业数据需要混合建模方式:对于基础的业务描述部分,采用范式建模;对于统计指标部分,采用维度建模;对于跨主题的关联分析,采用DataVault建模。由于企业数据所负责的开发同学一般都比较少,对于某个方面的业务要求还比较高,因而不太可能将所有的数据放到一起做整体规划,因为分治是必然的方式。在实际的开发过程中,对于每一个独立的方向,按照独立主题的方式进行建设,主题的顶层要独立出一套抽象意义上的公共层。如果对于跨主题有分析和统计需求,那么拿出每个主题的抽象公共层,可以作为一个独立的ODS数据源,再进行分类统计和汇总。

最后看指标体系:用户数据对于指标体系的痛点其实并不强烈,因为核心的指标数量并不多。但企业数据不同,指标之多、之杂,已经到了必须用平台来维护的地步。分析维度多、业务口径不一致等问题非常突出。因而,在做需求时,需要严格的按照指标数据定义方式来进行,例如标注统计周期、分析维度、聚合类型、事实表等信息,不怕指标的名字长,但一定要阐述清楚。

|0x02 企业数据的治理方式

从上述内容可以看出,企业数据存在比较突出的质量问题,综合而言有三点:

  1. 大量数据由人工维护,存在较高的错误可能性;
  2. 数据源众多且周期各不相同,对于最终产出时间影响较大;
  3. 数据依赖非常庞杂,排查问题需要花费大量精力。

其实我们把各类问题抽象一下,核心是由两个原因导致的:

  1. 对于业务数据的意识不强,不论是数据录入方,还是系统开发方,其第一优先级都是保障业务的顺利进行,而不是数据链路的通畅;
  2. 数据的监控范围有缺失,业务规则、数据质量校验、产出时间监控、脏数据排查、数据一致性校验……每一个忽略的数据监控项,都可能导致数据出现问题。

因而,在企业数据的治理方式上,就必须同时强调“人”的重要性和“技术”的重要性。

首先看“人”的重要性:企业数据治理,首在提升质量意识,由于开发压力巨大,且需求来自高层,因为往往会来不及对已开发的数据进行重构,从接入需求的一开始,就得考量数据质量的问题;同时,要推动业务方提升数据意识,由于业务方往往不懂数据的逻辑,因为数据开发很容易成为数据问题的最终兜底人,背锅就在所难免。在需求评审时,遇到不合理的问题就要及时提出,一定要把问题的苗头尽可能的解决在评审阶段。

其次看“技术”的重要性:很多时候我们为了理解业务的便捷性,会开发很多张中间表,但做的越多,依赖关系越乱。因此,如何优化数据加工链路,使得数据流程尽可能短、产出时间尽可能早,就非常的考验功底。同时,由于很多数据面临全量计算的问题,将常用的员工/组织等数据采用拉链表的方式进行存储,降低需要join的数据量,能够极大的节约机器资源。

|0xFF 企业数据的安全问题

企业数据的安全问题,要比数据质量问题重视的多。由于数据的获取往往要跨部门,因而申请对应的数据权限非常常见,久而久之,就会造成权限问题挤压过多,对于识别数据风险产生干扰。因此,我们要通过事前、事中和事后三个阶段来规范数据安全问题。

  1. 事前:数据的存储要遵循基本的安全规范,例如物理/逻辑隔离、字段安全等级打标、高敏数据加密存储等;
  2. 事中:针对频繁的数据申请操作进行规范,例如多次申请一次审批,例如申请理由和流程标准化,做好数据披露的全链路监控;
  3. 事后:已离职员工要及时收回权限,数据操作行为要以日志的形式记录下来,并进行事后分析。

最后,一定要多做数据安全方面的培训和宣传,尤其是技术人员,面对繁重的开发任务,往往难以有较高的警觉度。树立人人安全的意识,及时发现和修补安全漏洞,一定要将数据泄露事件扼杀在萌芽状态。