同时,在数据开发的过程中也会不断引入一些问题,而数据治理就是要不断消除引入的这些问题,保障数据准确、全面和完整,为业务创造价值,同时严格管理数据的权限,避免数据泄露带来的业务风险。因此,数据治理是数字时代很多公司一项非常重要的核心能力。
2014年,美团酒旅业务成为独立的业务部门,到2018年,酒旅平台已经成为国内酒旅业务重要的在线预订平台之一。业务发展速度较快,数据增长速度也很快。在2017到2018两年里,生产任务数以每年超过一倍的速度在增长,数据量以每年两倍多的速度在增长。如果不做治理的话,根据这种接近指数级的数据增长趋势来预测,未来数据生产任务的复杂性及成本负担都会变得非常之高。在2019年初,我们面临着下面五种问题:
2019年,美团酒旅数据团队开始主动启动数据治理工作,对数据生命周期全链路进行体系化数据治理,期望保障数据的长期向好,解决数据各个链路的问题,并保持数据体系的长期稳定。具体的目标包含以下几个方面:
其实早在2018年以前,酒旅数据组就做过数据治理,当时只是从数仓建模、指标管理和应用上单点做了优化和流程规范。之后,基于上面提到的五个问题,我们又做了一个体系化的数据治理工作。下面将介绍一下美团酒旅数据团队在数据治理各个方向上的具体实践。
数据治理方案需要覆盖数据生命周期的全链路,我们把数据治理的内容划分为几大部分:组织、标准规范、技术、衡量指标。整体数据治理的实现路径是以标准化的规范和组织保障为前提,通过做技术体系整体保证数据治理策略的实现。同时,搭建数据治理的衡量体系,随时观测和监控数据治理的效果,保障数据治理长期向好的方向发展。
我们制定了一个全链路的数据标准,从数据采集、数仓开发、指标管理到数据生命周期管理,全链路建立标准,在标准化建立过程中联合组建了业务部门的数据管理委员会。
2.1标准化
从标准制定上,我们制定了一套覆盖数据生产到使用全链路的数据标准方法,从数据采集、数仓开发、指标管理到数据生命周期管理都建立了相应环节的标准化的研发规范,数据从接入到消亡整个生命周期全部实现了标准化。
2.2组织保障
数据治理涉及的范围非常广,需要协作的团队也很多,除了需要通过组织和流程来保障治理行动正常开展,我们也考虑通过技术系统化和自动化的方式进一步提效,让系统代替人工。下面我们将从数据质量、数据成本、数据安全和运营效率等几个方向,来逐一介绍技术实现方案。
3.1数据质量
数据质量是影响数据价值最重要的因素,高质量的数据给带来准确的数据分析,错误的数据会把业务引导到错误的方向。数据质量涉及范围较广,在数据链路的每一个环节都有可能出现数据质量问题,酒旅业务现阶段的主要质量问题包括:
数据组的治理数据质量方案覆盖了数据生命周期的各个环节,下面将介绍一下整体的技术架构。
3.1.1统一数仓规范建模(OneModel)
在业务发展初期,数据团队集中精力在快速建设数仓来支持业务,数仓建模规范疏于管理。随着业务的发展,数仓中的数据急剧增多,数据产品和下游应用快速增加,数据工程师和数据使用方也变得越来越多,数仓的问题日益突显。业务数据仓库从初期发展到现在主要暴露了3方面的问题:
数据团队主要通过数仓规范化制定、数仓分层架构和数仓规范化系统来解决上述问题,下面是我们的具体解决方案。
制定标准-数仓规范
做好数仓规范化最基本的前提是要制定一系列标准化的规范,并推动组内同学执行。标准化的适用性、全面性和可执行性直接影响到规范的执行效果。数仓规范主要从3个方面制定数据标准化:
工具保障-数仓规范化开发系统-Dataman
在执行数据规范化的过程中,我们发现团队中每个人对规范的理解不一致,很可能造成数据规范不统一,审核人在审核上线任务时需要考虑规范的全部规则,审批需要投入的人力较多。在这样的流程下,数据规范性无法从根源上进行控制,因此需要建设数据规范化的工具,通过系统保障规范的一致性。数据组使用的数据层规范化工具-Dataman,主要包括3个功能模块:标准化规范、配置化开发和规则化验证。
3.1.2统一指标逻辑管理(OneLogic)
业务使用数据的第一步是搭建业务指标体系,业务的目标和策略的执行情况需要通过指标来分析,指标体系的合理性和指标数据的质量直接影响到业务决策,指标的重要性不言而喻。我们通过系统化地管理数据指标,从根源上解决指标口径一致性问题,主要从以下3个方向入手:
指标定义规范化
此处主要从指标的生成和管理上做好规范,确保业务同学和研发人员对指标体系管理的认知一致,确保指标的新建、更改和使用都按照规范执行。我们通过下面2个方向来实现指标定义的规范统一。
指标管理系统化
物理数据表管理:数据表管理的信息主要包括表的基础元数据信息、表类型(维表或事实表)、表的推荐度、描述信息和样例数据等。数据表管理主要是面向数据开发同学,通过维护数据表信息,为数据模型和指标管理提供数据基础支持。
指标管理:主要包括2部分的内容,指标的业务信息和技术信息。
指标查询智能化
在指标管理系统中创建指标时,我们系统化管理了指标与数仓物理模型的关联关系和取数逻辑,通过数据物理模型获得指标对应的字段和可以关联的维度,以此把指标解析为数据查询SQL语句,通过数据查询引擎执行生产的SQL,智能化获得指标数据。
在查询解析过程中,经常出现指标绑定了多个底层数据表的情况,此时需要我们手动的选一个物理模型作为指标生产的底层数据。但问题是,如果一个指标对应的模型太多,每次解析都需要手动指定,研发人员不确定选择哪个模型的性能最好。另外,随着物理模型的增多,大量旧的指标配置的关联模型不是最优解,就需要手动优化更改。为了解决这个问题,指标管理系统增加了智能解析模块,在选择智能模式查询时,系统会根据指标管理模型的数据量、存储性能和查询次数等信息自动选取最优的物理模型。
3.1.3统一数据服务(OneService)
数据仓库对外提供数据的需求越来越多,除了管理层、分析师和产品运营同学使用数据产品和报表外,数据还需要提供到各个业务系统中使用。常用的提供数据的方式主要包括同步数据表、提供SQL和为下游服务开发定制化API接口等方式,但存在以下几个方面的问题:
从2018年开始,数据BP中心与分析系统中心合作建设了统一数据API服务平台(Buffalo),通过开发可配置的数据接口服务平台实现数据对外的灵活提供,并实现对数据服务的下游使用及性能的可监控。统一的数据服务平台解决了几个比较关键的问题:
3.1.4统一用户产品入口(OnePortal)
此外,也存在因为适用场景不一样,导致面向不同用户的数据逻辑不同的情况,比如某些业务同学查看的GMV不包含民宿数据,但是商业分析团队要看的GMV是包含民宿数据的。为了能够让业务方能够在一个数据产品门户中找到更全面的数据,且这个产品门户中多个产品的数据逻辑是一致的,我们将数据门户按照使用用户和应用场景划分为3类:
3.1.5整体系统架构
3.2数据运营效率
数据工程师日常投入到运营的人力多的主要原因是信息不对称和信息检索能力弱,数据团队建设了很多数据模型和数据产品,但是用户不知道怎么快速地找到和使用这些数据,问题主要体现在下面3个方面:
3.2.1方案思路
3.2.2数据使用指南系统
数据使用指南的定位是业务数据信息的知识白皮书,提供最新、最全、最准确的指标口径、项目指标体系、数据表用法等信息,以简洁、流畅的操作支持数据指南中的内容及时更新,降低业务方的数据答疑和数据使用成本。
数据使用指南通过把业务场景和数据使用场景打通,从业务场景分析到使用到的数据表、指标和数据产品打通,在系统中能够快速找到数据表、指标定义、数据查询SQL、指标所在数据产品等信息,一站式解决数据查找、使用和分析的全部场景。主要功能包括指标信息和数据表信息及使用。
3.2.3数据答疑机器人
使用日常答疑中积累的咨询问题和答案作为基础答疑知识库,数据答疑机器人使用美团AI平台的摩西机器人搭建,配合问题答疑的策略,实现对历史已有问题和答案通过搜索匹配后发送给用户,具体实现方式如下:
3.3数据成本
大数据的主要成本构成有3大部分,计算资源、存储资源和日志采集资源,其中计算资源和存储占总成本超过90%,我们的数据成本治理主要是针对大数据计算和存储这两个部分。
大数据成本优化方案
计算资源
存储资源
日志采集资源
3.4数据安全
业务部门在业务发展初级就会建立指标体系,并使用数据指标对各个业务过程做精细化的分析,衡量业务目标的达成情况和行动的执行程度。数据治理也需要一套成熟稳定的衡量指标体系,对数据体系做到长期、稳定和可量化的衡量。我们通过制定体系化的数据衡量指标体系,来及时监测数据治理过程中哪些部分做的好,哪些部分还有问题。
4.1衡量指标建设
为了能够不重不漏地把指标都建立起来,我们从2个方面进行考虑:
4.2衡量指标保障数据治理
根据PDCA原则,将数据治理作为日常的运营项目做起来,底层依赖数据指标体系进行监控,之上从发现问题到提出优化方案,然后跟进处理,再到日常监控,构成一个完整的循环。
数据治理覆盖了数据生命周期全链路,通过围绕数据从产生到价值消亡全部生命周期,建立数据治理组织、制定治理衡量体系和建设治理技术系统来达到数据治理目标。经过体系化的数据治理,数据系统的治理、成本、安全和运营效率都有了比较大的改善。
数据治理分为三个大阶段:被动治理、主动治理、自动治理。
目前,美团酒旅业务数据治理处在第二阶段和第三阶段之间,虽然有整体治理计划、技术架构和组织保障,但仍需要投入一定的人力去做。未来,数据治理会继续朝着智能化的方向进行探索,真正把自动化治理工作做得更好。