前言
一
概念和范围
本篇文章谈的数据资产管理,是指针对大数据平台的数据资产管理,这里的大数据平台跟传统的数据仓库类似,它通过从各源系统进行统一数据采集、清洗及转换,并通过数据建模等手段,实现数据整合和增值,并对外提供数据服务,相对来讲是狭义的一个说法。
数据资产管理,比如大数据时代一书作者维克托·迈尔-舍恩伯格的认为:“数据资产须具备可控制、可量化、可变现的特性。数据资产管理是规划、控制和提供数据及信息资产的一组业务职能,包括开发、执行和监督有关数据的计划、政策、方案、项目、流程、方法和程序,从而控制、保护、交付和提高数据资产的价值”。
中国信息通信研究院组织业内专家编制的《数据资产管理实践白皮书(4.0版)(2019)》,对数据资产作如下定义:数据资产(Data Asset)是指由企业拥有或者控制的,能够为企业带来未来经济利益的,以物理或电子的方式记录的数据资源,如文件资料、电子数据等。在企业中,并非所有的数据都构成数据资产,数据资产是能够为企业产生价值的数据资源。
我尝试着活泼一点,把这个概念说得更形象一点,如果把数据资产当成人,我们对于数据资产的管理就类比于国家对公民的管理,那么国家是怎么管理自己的公民的呢,国家对人的管理可以认为是国家通过赋予你身份,并通过各种机制,流程及系统的控制或约束来确保你能为社会创造价值的任何管理行为,虽然不严谨,但其实就是这个理,同样,对于数据资产的管理,就是通过给数据资产贴个标签,然后通过各种机制,流程和系统的控制来确保这个数据能够创造价值的过程。
举个例子,给出一行数据“100,100,95,100,95”,我们认为这是数据,如果我们加了解释,这行数据代表周一至周五的浙江移动用户的通话时长,那么,这个解释“通话时长”就是数据的定义,也可以叫做元数据(即是数据的数据),这个世界数据是如此之多,每类数据的定义都不同,针对这些定义我们就需要专门去做管理,比如分门别类给每个数据贴个标签,以便后续根据定义去找到所需的数据,这个管理就叫做数据管理,就好比我们需要给每个商品定义一个与众不同的名字,以便我们的买卖能够正常进行,否则你说买一个苹果,人家给你个梨子,这个交易世界就乱了,如果没有数据管理,数据的世界也就乱了,再好的数据也只能烂在数据库里无法使用了,大数据时代,这些数据实际可以创造价值,因此我们把数据当成了资产的一种,针对数据的管理也等同了数据资产管理。
针对数据管理的书和文章也有不少,我不去解释,这里简要的列一下,如果有兴趣大家可以去看下。
(1)DAMA在DBMOK2.0数据管理体系将数据管理划分为11个管理职能,分别是数据架构、数据模型与设计、数据存储与操作、数据安全、数据集成与互操作性、文件和内容、参考数据和主数据、数据仓库和商务智能(BI,Business Intelligence)、元数据、数据质量等。
(2)CMMI协会于2014年发布企业数据管理能力成熟度模型Data Management Maturity(DMM),它可以用来评估和提升组织的数据管理水平,帮助组织跨越业务与IT之间的鸿沟,根据企业的数据管理能力提出五个层次:
(3)元数据管理:公共仓库元模型(Common Warehouse MetaModel,CWM)是被对象管理组织 OMG(Object Management Group)采纳的数据仓库和业务分析领域元数据交换开放式行业标准,在数据仓库和业务分析领域为元数据定义公共的元模型和基于 XML 的元数据交换(XMI)。CWM 作为一个标准的接口,可以帮助分布式、异构环境中的数据仓库工具,数据仓库平台和数据仓库元数据存储库之间轻松实现数据仓库和业务分析元数据交换。CWM 提供一个框架为数据源、数据目标、转换、分析、流程和操作等创建和管理元数据,并提供元数据使用的世系信息。
CWM 元模型、规范以及生成的产品同 MDA 非常契合,从技术平台角度来说,所有的平台相关模型(CWM XML、CWM IDL 和 CWM Java 等)都是自动地从平台无关模型(CWM 元模型和规范)中产生的;从产品平台角度来说,平台相关模型(比如 DB2、ORACLE、SQL SERVER 等)都是人工从平台无关模型(CWM 元模型和规范)中构造出来的。
以上几个观点,对数据资产管理的目标、方法和技术架构上,对数据资产管理做了高度的抽象概括,对于理解数据管理体系有点帮助。但这些书和文章比较抽象,对于非业内人士或新手可能读起来比较累,如果自己没实践过,可能也不知道到底如果将其应用到实际工作中。
中国移动自2004年开始经分系统建设,在经分2.0规范明确提出了元数据管理的建设要求,这个实际就是数据管理的概念,应该是非常有前瞻性的,但要做好数据管理,让其在生产中发挥作用,难度是超过想象的,远远不是一个规范或一本书就直接能够给予指导的,浙江移动数据管理建设多年,中间经历了很多失败和教训,在此,我简单的将我的理解分享一下,希望能从一些切入点把一些道理讲讲清楚。
二
现实的挑战
我们需要管好数据资产的“生老病死”,好比人一出生就要注册身份一样,数据从一出生就需要被注册和标识,一个没有标识的数据没有价值,我们往往给数据的“身份”取一个好听的名字,即通常所说的数据字典。注意,我这里的数据字典是广义的概念,不仅仅是指对于数据仓库中的一些表字段的定义,其含义要的广阔的多,包括技术描述、业务描述、血缘关系、数据归属、数据位置等等,给大家看一张元数据的功能图,大家就大致了解了应该包含哪些内容,这是个庞大的体系,远远超过你的想象,而且也远远不止这些。
数据资产管理第一要务是维护好一本数据字典,但现实中的问题很多。
2.1
缺乏管理意识
很多公司建了不少系统,但却没有严格意义上数据管理团队,没有任何数据管理的规范和流程,比如说没有维护数据字典,即使对于数据有定义,也仅仅存在于设计文档中,但并没有独立进行管理,因此,即使是再大的企业,产生再多的数据,如果这些数据没有系统化得标识和管理,实际上它是很难作为一种资产而创造更多价值的,因此大数据时代,并不是你有数据就代表有数据竞争力,首先得你能够很好的管理好他。
2.2
缺乏管理手段
很多公司把数据字典当成是设计过程中的产物,自他上线以后就没人搭理了,大量的线下PDM散落在各个地方,数据字典可能还藏在开发人员脑中,但员工会离职,调离岗位,也会忘记,当数据出现问题或需要用到数据的时候,往往连最基本的定义也不清楚,也不知道是谁开发的,只能去核查代码,这个时候的效率往往比较低,这些数据的资产价值也大打折扣,特别是很多公司需要更换厂家的时候,完全缺失的数据字典、大量的沟通成本,含糊的自我保护解释,导致代价是如此巨大。
2.3
缺乏自动方式
即使一些公司注意到了数据字典的重要性,因此安排了专门的维护团队人员,甚至采购了一些管理系统,比如元数据管理系统,但更多是后向的方式,这些系统的数据字典,更多需要依赖人工录入及日志解析的方式,往往在系统上线后补充进来,但实际上由于人维护的可靠性及解析的能力不足,数据管理系统和实际源系统的数据定义并不一致,这种不一致问题会逐步扩大,直至失去本应有的价值。
2.4
缺乏系统衔接
大数据平台(或者传统数据仓库系统)其数据来源于各类源系统,比如浙江移动的大数据平台的数据来源于40多个源系统,横跨了B(业务)、O(网络)及M(管信)三域,各个源系统的接口总计超过1600个,字段近5万,大家在做数据仓库项目时,往往毕其功于一役,项目化的进行一次数据字典梳理,但实际上问题很多,首先你能确保你梳理的数据字典跟源系统完全一致吗,其次,源系统的变化你能及时感知到而自行作出调整吗,最后,你有足够的人力去跟踪这些变化,打造一本真正与时俱进的数据字典吗?我想大多数企业都会觉得困难,因此有这么一说,90%以上的数据管理系统是失败的。
如何解决以上一些问题正是我重点要谈的,其实有人会说,没有数据字典我照样能活的很好啊,但要记住,当你的公司拥有大量的数据,并认为其可以变现的时候,你实际上将其当成了资产,你就不能这么忽视了,任何公司的财务都会把资产列表理得清清楚楚,数据也一样,今年你可能还质疑这有啥价值?但10-20年后呢,可能这些数据资产就真正的分门别类的出现在你公司的资产列表上了。
举个未来场景吧,如果你作为一名销售去跟其他公司交易数据,首先得介绍你的产品吧,没有一本数据字典,针对这些数据有较为详细的描述,你能想象这种交易该如何进行吗?再比如阿里的DMP,它会提供给商家一些数据用作营销推荐,在它提供的数据清单里,你会发现它很多数据还有个置信度的标识,以表明这个数据的真实价值,这个不就是数据管理中给数据贴上的更深层次的标签吗,只是更进一步了,所有的目的就是为了促成交易的完成,当前各国政府也在谈用大数据进行社会治理,希望数据对公众更为透明化,数据的透明化哪里有这么容易,数据透明化首先需要解释的平民化,我们需要的是一本人性化的数据字典,否则,谁知道GDP,CPI是啥意思。
通过这些例子,我相信你至少能理解一点,数据管理的最终目的其实就是为了让数据产生价值,对于程序员来讲,数据字典也许只是一本躺在你电脑中的PDM文档而已,但对于数据资产管理员,它就是发现宝藏的一张地图。
三
浙江移动数据资产管理实践
3.1
重塑观念
DT时代,社会不会由于个人隐私的风险而放弃对于数据利用造福人类追求,趋势不可逆转,有生产力才有生产关系,而对于数据的有效利用来源于你对数据的有效管理。作为希望基于大数据创造新的机会的任何公司,都应该现在就开始着手数据管理工作,不要奢望等安全/机制/流程都完备了,甚至生意上门了才去做,也不要急功近利的认为有明确的效益我才去做,这些能力都不是短时间内就能够具备的,当你发现公司连个数据目录都难以拿出或没人能解释清楚的时候,你早已经被竞争对手抛弃在后面而丧失了大多数机会,企业的管理者需要有这个勇气和魄力去构建这么一只团队。
先不说BAT,大家有机会可以去看看当前的一些大数据公司融资的材料,或者当前一些RTB广告公司,数据目录和知识库的详细程度(可能他根本还没有这些数据)叹为观止,传统公司维护的数据资产比如标签,可能几千个算不错了,但互联网公司标签大多是几十万甚至上百万,对于数据的理解的深入程度,远远超过你的想象。
3.2
创新组织
按照我们的实践,一开始并不需要从根本上去动原有的组织架构,也没必要,但起码要设立相对独立的大数据管理组织机构专门去做这件事,赋予该组织管理企业的所有大数据的权利,至少要明确集中的数据采集、集中的数据处理、集中的数据建模及集中的数据管理等工作,务必要打破部门、系统的隔阂和界限,这个很重要,虚拟团队虽然也算是一种手段,但现实中执行的效率其实很低,另这些工作建议依靠自身的团队来建设和运营,尽量不要依赖外部力量,因为这个涉及一些核心竞争力的问题,记住一点,没有一个合作伙伴会比你更能了解自己公司的数据。
不少企业的利益相关部门会去争这个权利,这个时候,企业的管理者需要坚决的拍板,而不是和稀泥,问题总是要解决的,一般来讲,在数据发展的初期,IT部门适合去承担这个职责,而不是其它部门,为什么,因为它离实际数据最近。
3.3
横纵贯通
我们的企业级大数据资产管理,前段衔接业务系统,后端衔接对外服务,整个管理不仅仅要管理大数据平台的数据,也要延伸到上游和下游,这才是较为彻底的管理方式,下图简要示意了一下,当然不少人会问,前端怎么管?这个就涉及流程再造,我后面会讲,这里希望说明的是数据管理是端到端的过程,我们对于数据的生老病死都要管。
3.4
流程再造
我赞同一句话,全是系统自动没有流程是最好的流程,但现实总是很骨感,我们还是需要一些靠人工的流程来进行一些控制,数据管理领域有一个核心问题是:我如何知道业务生产系统(源系统)有哪些数据,业务生产系统数据变动引发的任何问题我怎么知道,你知道我为上游系统做了多少擦屁股的事情?搞过数据仓库等下游系统的人对此深恶痛绝。数据资产管理很大问题是出在源头,源头都没讲清楚下游怎么能管好呢,恩,下面就从源头管理说起。
大家都知道屁股决定脑袋,好吧,开发业务生产系统的人有自己的利益诉求,当然它不太可能考虑到你数据资产管理的诉求,这个时候,抱怨没有用,你需要主动去改进它,传统的下游系统声音比较弱,DT时代不一样了,它给了我们一次机会去对源系统的数据管理进行流程再造的机会,只要你敢提。
还是中国移动经分系统,经分规范很早就提出了二级互动的概念,浙江公司更进一步,现在已经在实践源系统的流程再造(针对表和字段),当然还没完,以下是一些措施,供大家参考:
在推进过程中,我们发现业务生产系统的开发、测试和上线流程操作非常复杂,对于数据表的变更也比较随意,这个时候数据管理团队就要深入到他的流程中,确保你提供的平台能够适应它整个开发上线流程,工具平台也要非常易用,这个工作挑战巨大,但意义非常深远,以下列了几点直接的好处:
当前比如浙江移动的BOSS、CRM的部分系统开发测试流程已经再造,我们也在努力向其他系统延伸,这是一种较为彻底的从源端就进行数据资产管理的一种方式。
3.5
开发革命
再回到中国移动的经分系统,已经不止一次提到它了,在我们最初接触元数据管理的概念时,都认为元数据管理是数据仓库系统以外的辅助系统,元数据管理和数据仓库的次序是先有数据,再有元数据管理,因此我们所有的数据管理工作都是后向的,即建设数据仓库,然后购买一个元数据管理软件,然后千方百计的去梳理、抽取和解析数据仓库中的任何数据管理信息,包括SQL代码,比如买了石竹等数据管理软件,然后不停的升级这个软件,给他纳入越来越多的数据管理功能和信息,但我们发现,我们的维护成本与日俱增,我们需要不停的在流程上,系统上,人员上去维护这套关系,由于大量的数据仓库中的数据信息是完全不规范的,比如我们需要解析出某张表的血缘关系,我们需要去解析SQL代码,需要规范开发人员SQL编写方式,即使这样,我们最后得到的仍然是漏洞百出的数据管理体系,直到河北移动提出了全新的观点,基于元数据管理的开发体系,才最终解决这个问题。
简单的说,传统的数据仓库,包括现在的大多数分析系统,比如HIVE,MPP等,其代码的开发环境是相对简单的,因此,是否能将元数据管理渗透到开发中,让元数据成为开发天然的一部分,这就在生产上保证了数据管理的完整性,本质上就是数据的设计与开发是一个整体,设计的过程就是开发的过程,比如,数据仓库的处理逻辑往往是定义表,建表,然后是一段统计分析代码,再生成表,如此反复,最终得到你需要的数据,整个过程,如果你规范一下,所谓的定义表,就是表的设计,这个完全可以在开发的过程中通过系统前台的标准化去规范化,当你完成了一个脚本,实际上元数据也就自然生成了。
任何管理动作,如果能够标准化,并通过系统的方式渗透到生产流程中,让其成为生产的一部分时,就能够创造更高的效率,当然这里有个关键,就是你的系统工具是否足够强大,这正是我下面要讲的。
3.6
管理工具
数据管理工具采用的是亚信公司提供的数据管理产品,前面我所有说得,都是基于这个平台工具实现的,这个工具也在实践中变得越来越强大。
四
实施管理及心得体会
4.1
实施策略管理
实施内容包括了规范、组织、流程和技术。三部分关键工作:现状诊断和业务需求分析、信息化愿景规划、信息化实施路线。
(1)实现解决管理平台看到的信息和生产平台信息的不一致性问题。
解决此问题,必须清晰定义数据资产管理边界以及对生产、运营域的要求。如下图,数据管理平台负责制定数据的标准规范、检查规则、数据模型、数据关系的制定和稽核。数据处理平台负责实现完成数据管理的要求。要实现此模板,要求数据资产管理和生产运营平台具备双向元数据交换的能力,方能解决两张皮的问题。
(2)实现前向数据管理能力。在开发过程中进行数据控制,实现事前的控制。
将各管控工具的能力贯穿于流程的全过程,一方面确保流程规范,同时带来更好的工作体验,提高工作效率。
4.2
从源头治理,事半功倍
数据资产管理,如河流治理,源头不干净,下游的治理,必将是事倍功半。
4.3
支持多团队的统一管理
通过统一上线作为管理的控制点,每个团队提交要上线的内容,存到统一元数据库进行标准化检查稽核。确保每个团队,允许采用不同的工具,但必须遵守数据管理要求。
4.4
跨平台无关的透明化管理
现有数据中心,大都是混搭式的数据平台。对应用层的开发人员,提供透明标准化API,使开发人员沿用现有技能,无需进行复杂学习就能进行开发。
如将某类数据文件加载到数据库中,开发人员只要指定数据文件路径和目标表。系统执行时如果是要入库到DB2调用DB2的命令,如果是Hadoop平台,调用Hadoop的命令。
作者简介