1. 前言

数据集成包含了ETL、主数据管理、数据质量监控、元数据管理、数据生命周期管理等多个不同的功能模块(图1)。在前面两篇公众号中主要介绍了ETL的流程和技术架构,并给出了基于元数据驱动的分布式ETL架构。本文将基于个人理解对主数据和主数据管理系统的基本概念进行简要介绍,供大家参考

数据治理与数据管理(数据集成技术四)(1)

图1

2. 主数据的概念

说到数据分类,很多人都会被主数据(Master Data)、元数据(Meta Data)、引用数据(Reference Data)、事务数据(Transaction Data)等概念弄糊涂,为了更好的说明这些数据的差异,本文引用Information Management网站中的一张图[1]并结合电信行业的实际数据进行说明:

数据治理与数据管理(数据集成技术四)(2)

图2 数据模型分类

元数据(Meta Data)被定义为描述数据的数据。这个定义非常抽象,在实际工作中我认为大部分属性字段都可以归纳为元数据。以电信行业中的小区工参信息为例,小区的经纬度、方向角、放射功率等字段都是用来描述小区的属性,它们字段含义清晰且明确,这些字段就是元数据。图2中蓝色越深表征语义内容越深,数据质量重要性越高;黄色越深表示数据量越大、数据更新速率越快、数据生命周期越短。可以观察到元数据的语义性最强,数据质量要求最高,且一旦定义几乎不存在更新;

引用数据(Reference Data)定义为元数据的可能取值范围[2],我们设计表时所说的数据字典往往就是引用数据。比如用户账单中的性别只能是男和女,男和女就是引用数据;用户语音详单中的呼叫类型只能是主叫和被叫,主叫和被叫就是引用数据;通常而言,引用数据语义性较强且更新频率很低;

主数据(Master Data)可以初步定义是元数据和引用数据所描述的实例的集合。以刚才提到的小区经纬度、方向角、发射功率等信息为例,这些元数据和引用数据都是用于描述小区这个实例,那么小区就可以认为是主数据。同样类似的,用户账单中的性别字段是用于描述用户的,那么用户可以认为是主数据。

此外,主数据还包括关系数据[3],用以描述主数据之间的关系,如用户与产品的关系,用户与用户的关系等。以电信行业的用户为例,由于在多个不同系统(BSS计费系统、OSS运维系统)中都有用户信息,但是可能用不同的编码方式对用户进行唯一性标识(例如BSS系统中的user_id,OSS系统中的IMSI或MSISDN),那么还需要维护一张主数据之间映射关系(表1),从而实现主数据的管理和查询:

数据治理与数据管理(数据集成技术四)(3)

表1 不同系统间主数据映射关系

事务数据(Transaction Data):主数据之间活动产生的数据,例如用户通话记录包含了不同用户(主数据)之间在不同小区(主数据)内发生的通话,所以归纳为事务数据的范畴。

经过上面的介绍,我们可以得到对于主数据更为准确的定义:主数据是用来描述企业核心业务实体的数据,这些信息具有高业务价值的、可以在企业内部跨越不同的部门被重复使用,并且存在于多个异构的应用系统或平台中。进一步的,主数据特点归纳如下:

业务系统实体的关键数据,而非业务系统产生的衍生数据;

存在于不同系统中或需要在不同系统内部共享;

数据变化速率相对较慢。

以电信行业为例,用户、小区、基站等实体都是业务系统中的关键数据,在不同的系统中共享(O域运维、B域计费、M域管理),且本身不会发生频繁的数据变化,所以可以归纳为主数据的范畴。下面以用户主数据模型为例进行介绍,内容可以分为五部分:

用户的基本信息:主要来源于B域账单数据,包含用户的年龄、性别、归属地市、电话号码、用户等级等;

用户的消费信息:主要来源于B域计费数据,包含用户使用套餐、付费模式、月消费、通话时长、使用流量等;

用户的终端信息:主要来源于O域运维数据,可以获得用户终端品牌、型号、操作系统、终端能力(234G、volte、CA)等;

用户的偏好信息:主要来源于O域运维数据,包含用户语音偏好小区、数据偏好小区、数据偏好业务、常用APP等;

用户的网络感知信息:主要来源于O域运维数据和M域投诉数据,包含用户使用各类业务的用户感知情况。

基于这样的用户主数据模型,我们可以实现用户感知、用户画像、终端分析、用户\终端\网络联合分析等多个应用专题的BI分析。

3. 主数据管理(Master Data Management)

由于主数据存在于不同的管理系统中,如果一个BI系统需要基于某类主数据实现上层业务分析时,就需要实现对不同业务系统的访问,也相应会带来很多问题:1)系统间数据编码不一致(例如上一节中提到对用户编码不一致);2)数据不同步,缺乏一致性; 3)需要实现与不同系统的对接,实现难度和工作量随系统数量提升;4)不同的BI系统都需要接入同一个业务系统,也对业务系统本身带来压力。

数据治理与数据管理(数据集成技术四)(4)

图3 无主数据管理时对主数据的访问

所以我们需要通过从各个操作/事务型应用以及分析型系统中分离出主数据的相关信息,创建并维护整个企业内主数据的单一视图(SingleView),这样上层的BI系统只需要访问这个单一视图,而非各个业务系统。同样单一视图更方便的提供准确性、一致性以及完整性,从而保证了数据质量,并提高了业务的响应速度。

数据治理与数据管理(数据集成技术四)(5)

图4 有主数据管理时对主数据的访问

在具体实现上,主数据管理与数据仓库类似,都是构建于ETL或者EII(EnterpriseInformation Integration)等技术之上,也包含了数据抽取、数据加载、数据转换、数据质量管理、数据复制和数据同步等功能。所以企业数据集成系统发展前期,如果没有足够的资金单独实现一个主数据管理平台,也可以将部分主数据功能通过数据仓库中实现。

4. 小结

在本文中,我们简要介绍了主数据和主数据管理的概念,并以电信行业的用户主数据模型为例进行了说明。需要特别说明的是,以目前现有的大数据处理技术和架构,对于主数据管理平台的实现本身,并没有太大的技术难点,IBM、SAP、Oracle等各大厂商也提供了成熟的解决方案。但是在项目的具体实践中,主数据信息的标准化(信息代码标准化、主数据编码标准化、维护体系标准化等)和管理流程的规范化将决定主数据的准确性,有效性和一致性,也是主数据管理能否充分发挥作用的关键。

,