美团旅行:数据质量监管平台实践

2020/09/27      6154 文(wén)章来源:美团技术团队 原作者:德晓

1.背景

数据,已经成為(wèi)互联网企业非常依赖的新(xīn)型重要资产。数据质量的好坏直接关系到信息的精准度,也影响到企业的生存和竞争力。Michael Hammer(《Reengineering the Corporation》一书的作者)曾说过,看起来不起眼的数据质量问题,实际上是拆散业務(wù)流程的重要标志(zhì)。 数据质量管理(lǐ)是测度、提高和验证质量,以及整合组织数据的方法等一套处理(lǐ)准则,而體(tǐ)量大、速度快和多(duō)样性的特点,决定了大数据质量所需的处理(lǐ),有(yǒu)别于传统信息治理(lǐ)计划的质量管理(lǐ)方式。

本文(wén)基于美团点评大数据平台,通过对数据流转过程中各阶段数据质量检测结果的采集分(fēn)析、规则引擎、评估反馈和再监测的闭环管理(lǐ)过程出发,从面临挑战、建设思路、技术方案、呈现效果及总结等方面,介绍美团平台酒旅事业群(以下简称美旅)数据质量监管平台DataMan的搭建思路和建设实践。

2.挑战

美旅数据中心日均处理(lǐ)的离線(xiàn)和实时作业高达数万量级, 如何更加合理(lǐ)、高效的监控每类作业的运行状态,并将原本分(fēn)散、孤岛式的监控日志(zhì)信息通过规则引擎集中共享、关联、处理(lǐ);洞察关键信息,形成事前预判、事中监控、事后跟踪的质量管理(lǐ)闭环流程;沉淀故障问题,搭建解决方案的知识库體(tǐ)系。在数据质量监管平台的规划建设中,面临如下挑战:

l 缺乏统一监控视图,离線(xiàn)和实时作业监控分(fēn)散,影响性、关联性不足。

l 数据质量的衡量标准缺失,数据校验滞后,数据口径不统一。

l 问题故障处理(lǐ)流程未闭环,“点”式解决现象常在;缺乏统一归档,没有(yǒu)形成體(tǐ)系的知识库。

l 数据模型质量监控缺失,模型重复,基础模型与应用(yòng)模型的关联度不足,形成信息孤岛。

l 数据存储资源增長(cháng)过快,不能(néng)监控细粒度资源内容。

DataMan质量监管平台研发正基于此,以下為(wèi)具體(tǐ)建设方案。

3.解决思路

整體(tǐ)框架

构建美旅大数据质量监控平台,从可(kě)实践运用(yòng)的视角出发,整合平台资源、技术流程核心要点,重点着力平台支持、技术控制、流程制度、知识體(tǐ)系形成等方向建设,确保质量监控平台敏捷推进落地的可(kě)行性。数据质量监控平台整體(tǐ)框架如图1所示:


1 质量监控平台整體(tǐ)框架图

建设方法

以数据质量检核管理(lǐ)PDCA方法论,基于美团大数据平台,对数据质量需求和问题进行全质量生命周期的管理(lǐ),包括质量问题的定义、检核监控、发现分(fēn)析、跟踪反馈及知识库沉淀。数据质量PDCA流程图如图2所示:


2 数据质量PDCA流程图

关键流程

质量监管平台建设实践应用(yòng)及价值體(tǐ)现,离不开管理(lǐ)流程、技术实现和组织人员的紧密结合,主要包含如下8大流程步骤:

(1)质量需求:发现数据问题;信息提报、收集需求;检核规则的需求等;

(2)提炼规则:梳理(lǐ)规则指标、确定有(yǒu)效指标、检核指标准确度和衡量标准;

(3)规则库构建:检核对象配置、调度配置、规则配置、检核范围确认、检核标准确定等;

(4)执行检核:调度配置、调度执行、检核代码;

(5)问题检核:检核问题展示、分(fēn)类、质量分(fēn)析、质量严重等级分(fēn)类等;

(6)分(fēn)析报告:数据质量报告、质量问题趋势分(fēn)析,影响度分(fēn)析,解决方案达成共识;

(7)落实处理(lǐ):方案落实执行、跟踪管理(lǐ)、解决方案Review及标准化提炼;

(8)知识库體(tǐ)系形成:知识经验总结、标准方案沉淀、知识库體(tǐ)系建设。

质量检核标准

l完整性:主要包括实體(tǐ)缺失、属性缺失、记录缺失和字段值缺失四个方面;

l准确性:一个数据值与设定為(wèi)准确的值之间的一致程度,或与可(kě)接受程度之间的差异;

l合理(lǐ)性:主要包括格式、类型、值域和业務(wù)规则的合理(lǐ)有(yǒu)效;

l一致性:系统之间的数据差异和相互矛盾的一致性,业務(wù)指标统一定义,数据逻辑加工结果一致性;

l及时性:数据仓库ETL、应用(yòng)展现的及时和快速性,Jobs运行耗时、运行质量、依赖运行及时性。

大数据平台下的质量检核标准更需考虑到大数据的快变化、多(duō)维度、定制化及资源量大等特性,如数仓及应用(yòng)BI系统的质量故障等级分(fēn)类、数据模型热度标准定义、作业运行耗时标准分(fēn)类等和数仓模型逻辑分(fēn)层及主题划分(fēn)组合如下图3所示。


3 质量检核标准图

美旅数仓划分(fēn)為(wèi)客服、流量、运营、订单、门店(diàn)、产品、参与人、风控、结算和公用(yòng)等十大主题,按BaseFactTopicApp逻辑分(fēn)层,形成體(tǐ)系化的物(wù)理(lǐ)模型。从数据价值量化、存储资源优化等指标评估,划分(fēn)物(wù)理(lǐ)模型為(wèi)热、温、冷、冰等四类标准,结合应用(yòng)自定义其具體(tǐ)标准范围,实现其灵活性配置。

作业运行耗时分(fēn)為(wèi):优、良、一般、关注、耗时等,每类耗时定义的标准范围既符合大数据的特性又(yòu)可(kě)满足具體(tǐ)分(fēn)析需要,且作业耗时与数仓主题和逻辑分(fēn)层深度整合,实现多(duō)角度质量洞察评估。

针对数万的作业信息从数据时效性、作业运行等级、服務(wù)对象范围等视角,将其故障等级分(fēn)為(wèi)S1:严重度极高;S2:严重度高;S3:严重度中;S4:严重度低等四项标准,各项均对应具體(tǐ)的实施策略。整體(tǐ)数据质量的检核对象包括离線(xiàn)数仓和实时数据。

监管核心点


数据质量功能(néng)模块设计的主要功能(néng)如上图4所示,包括:监控对象管理(lǐ)、检核指标管理(lǐ)、数据质量过程监控、问题跟踪管理(lǐ)、推荐优化管理(lǐ)、知识库管理(lǐ)及系统管理(lǐ)等。其中过程监控包括离線(xiàn)数据监控、实时数据监控;问题跟踪处理(lǐ)由问题发现(支持自动检核、人工录入)、问题提报、任務(wù)推送、故障定级、故障处理(lǐ)、知识库沉淀等形成闭环流程。

管理(lǐ)流程

流程化管理(lǐ)是推进数据问题从发现、跟踪、解决到总结提炼的合理(lǐ)有(yǒu)效工具。质量管理(lǐ)流程包括:数据质量问题提报、数据质量问题分(fēn)析、故障跟踪、解决验证、数据质量评估分(fēn)析等主要环节步骤;从干系人员的角度分(fēn)析包括数据质量管理(lǐ)人员、数据质量检查人员、数据平台开发人员、业務(wù)及BI商(shāng)分(fēn)人员等,从流程步骤到管理(lǐ)人员形成职责和角色的矩阵图。如图5所示:


5 数据质量流程图

问题汇总: 数据质量提报、ETL处理(lǐ)及监控过程上报、数据质量检查点等多(duō)方来源,其中ETL处理(lǐ)部分(fēn)為(wèi)程序自动化上报,减少人為(wèi)干预。

问题分(fēn)析: 通过规定的角色和岗位的人员对汇总问题分(fēn)析和评估,由统一公共账号自动推送提醒消息至责任人。

问题工单: 对采集的问题经过分(fēn)析归类,主要划為(wèi)信息提示和故障问题两大类,信息提示无需工单生成,故障问题将产生对应的工单,后推送至工单处理(lǐ)人。

故障定级: 针对生成的问题工单判断其故障级别,其级别分(fēn)為(wèi):S1S2S3S4等四类(如图3所述),针对尤為(wèi)严重的故障问题需Review机制并持续跟踪CaseStudy总结。

知识库體(tǐ)系: 从由数据问题、解决方案、典型案例等内容中,提炼总结形成标准化、完备知识库體(tǐ)系,以质量问题中提炼价值,形成标准,更加有(yǒu)效的指导业務(wù)、规范业務(wù),提高源头数据质量,提升业務(wù)服務(wù)水平。

质量流程管理(lǐ):

l流程原则:统一流程、步骤稳定。

l权限控制:流程节点与人员账户号绑定,若节点未设置人员账户即面向所有(yǒu)人员,否则為(wèi)规定范围的人员。

l权限管理(lǐ):可(kě)结合美团平台的UPM系统权限管理(lǐ)机制。

4.技术方案

总體(tǐ)架构

DataMan系统建设总體(tǐ)方案基于美团的大数据技术平台。自底向上包括:检测数据采集、质量集市处理(lǐ)层;质量规则引擎模型存储层;系统功能(néng)层及系统应用(yòng)展示层等。整个数据质量检核点基于技术性、业務(wù)性检测,形成完整的数据质量报告与问题跟踪机制,创建质量知识库,确保数据质量的完整性(Completeness)、正确性(Correctness)、当前性(Currency)、一致性(Consistency)。

总體(tǐ)架构图如图6所示:


6 质量监管DataMan总體(tǐ)架构图

l数据源及集市层:首先采集数据平台质量相关的元数据信息、监控日志(zhì)信息、实时日志(zhì)、检测配置中心日志(zhì)、作业日志(zhì)及调度平台日志(zhì)等关键的质量元数据;经数据质量集市的模型设计、监控对象的分(fēn)类,加工形成完整、紧关联、多(duō)维度、易分(fēn)析的数据质量基础数据模型,為(wèi)上层质量应用(yòng)分(fēn)析奠定数据基础。数据来源自大数据平台、实时数仓、调度平台等,涉及到Hive SparkStorm KafkaMySQLBI应用(yòng)等相关平台数据源;

l存储模型层:主要功能(néng)包括规则引擎数据配置、质量模型结果存储;以数据质量监控、影响关联、全方位监控等目标规则引擎的推动方式,将加工结果数据存储至关系型数据库中,构成精简高质数据层;

l系统功能(néng)层:包括配置管理(lǐ)、过程监控、问题跟踪、故障流程管理(lǐ)、实时数据监控、知识库體(tǐ)系的创建等;处理(lǐ)的对象包括日志(zhì)运行作业、物(wù)理(lǐ)监控模型、业務(wù)监控模型等主要实體(tǐ);

l系统展示层:通过界面化方式管理(lǐ)、展示数据质量状态,包括质量监控界面、推荐优化模块、质量分(fēn)析、信息展示、问题提报、故障跟踪及测量定级、系统权限管理(lǐ)等功能(néng)。

技术框架

前后端技术


7 技术架构图

DataMan应用(yòng)系统其前端框架(如上图7)基于Bootstrap开发,模板引擎為(wèi)FreeMarkerTomcat(开发环境)作為(wèi)默认Web容器,通过MVC的方式实现与应用(yòng)服務(wù)层对接。Bootstrap的优势基于jQuery,丰富的CSSJS组件,兼容多(duō)种浏览器,界面风格统一等;FreeMarker為(wèi)基于模板用(yòng)来生成输出文(wén)本的引擎。后台基于开源框架Spring4Spring BootHibernate搭建,其集成了DruidApache系列和Zebra等数据库访问中间件等,為(wèi)系统的功能(néng)开发带来更多(duō)选择和便利。

Zebra中间件

系统数据库连接采用(yòng)中间件Zebra,这是美团点评DBA团队推荐的官方数据源组件,基于JDBCAPI协议上开发出的高可(kě)用(yòng)、高性能(néng)的数据库访问层解决方案;提供如动态配置、监控、读写分(fēn)离、分(fēn)库分(fēn)表等功能(néng)。Zebra整體(tǐ)架构如图8所示:


8 Zebra架构图

Zebra客户端会据路由配置直连到MySQL数据库进行读写分(fēn)离和负载均衡。RDS是一站式的数据库管理(lǐ)平台,提供Zebra的路由配置信息的维护;MHA组件和从库监控服務(wù)分(fēn)别负责主库和从库的高可(kě)用(yòng)。Zebra支持丰富的底层连接池;统一源数据配置管理(lǐ);读写分(fēn)离和分(fēn)库分(fēn)表;数据库的高可(kě)用(yòng)。

数据模型

整个质量监管平台数据流向為(wèi)数据质量元数据信息采集于美团平台,包括数据仓库元数据信息、质量检测元数据、调度平台日志(zhì)信息、监控日志(zhì)及实时元数据信息等,加工形成独立数据质量的集市模型,以此支撑应用(yòng)层系统的数据需求。应用(yòng)层系统数据库采用(yòng)关系型数据库存储的方式,主要包含了规则配置管理(lǐ)信息、数据质量结果库等信息内容。数据流向层级关系图如下:


9 数据流向层级图

数据平台层:基于美团大数据平台的数据质量元数据是质量分(fēn)析和监管的来源,是整个系统最基础重要资源信息,此数据主要包括:数仓元数据信息,如数仓模型表基本信息、表存储空间资源信息、表分(fēn)區(qū)信息、节点信息、数据库meta信息、数据库资源信息等;运行作业调度日志(zhì)信息,如作业基本信息、作业运行资源信息、作业调度状态信息、作业依赖关系信息及作业调度日志(zhì)监控信息等;质量检测元数据信息主要来源于SLADQC(美团内部系统)检测结果的信息。实时元数据采集于调度平台实时作业运行的API接口调用(yòng)分(fēn)析。

质量集市层:DM数据质量集市的独立创建是依托基础元数据信息,根据质量监管平台配置的引擎规则ETL加工形成。规则库引擎如数仓应用(yòng)主题的划分(fēn)规则、数仓逻辑分(fēn)层约束、数据库引擎分(fēn)类、模型使用(yòng)热度等级、模型存储空间分(fēn)类、资源增長(cháng)等级、历史周期分(fēn)类、作业重要级别、作业运行耗时等级、作业故障分(fēn)类、及数据质量标准化定义等。

在管理(lǐ)方向上,如模型或作业所属的业務(wù)条線(xiàn)、组织架构、开发人员等;在时效上分(fēn)為(wèi)离線(xiàn)监控数据、实时数据集市等。从多(duō)个维度交叉组合分(fēn)析形成模型类、作业类、监控日志(zhì)类、实时类等主题的等易理(lǐ)解、简单、快捷的数据质量集市层,强有(yǒu)力的支撑上层应用(yòng)层功能(néng)的数据需求。数据质量集市DM主要模型如图10所示:


10 数据质量集市模型图

模型设计:“统一规范、简单快捷、快速迭代、保障质量”,基于美团平台元数据、平台日志(zhì)、实时数据接口等来源,通过制定的规则、标准,形成可(kě)衡量、可(kě)评估的数据质量集市层,主要包含公共维度类、模型分(fēn)析类、作业监控类、平台监控类等主要内容;

实时数据:针对实时作业的监控通过API接口调用(yòng),后落地数据,实时监控作业运行日志(zhì)状态;

数据加工:基于美团平台离線(xiàn)HiveSpark引擎执行调度,以数仓模型分(fēn)层、数仓十大主题规则和数据质量规则库等為(wèi)约束条件,加工形成独立的数据集市层。

应用(yòng)分(fēn)析层:应用(yòng)层系统数据采用(yòng)关系型数据库(MySQL)存储的方式,主要包含了规则配置管理(lǐ)信息、数据质量分(fēn)析结果、实时API落地数据、故障问题数据、知识库信息、流程管理(lǐ)及系统管理(lǐ)类等信息内容,直接面对前端界面的展示和管理(lǐ)。

5.系统展示

数据质量DataMan监控系统一期建设主要实现的功能(néng)包括:个人工作台、信息监控、推荐信息、信息提报、故障管理(lǐ)、配置管理(lǐ)及权限系统管理(lǐ)等。系统效果如图11所示:


11 系统效果图

个人工作台

在系统中将个人待关注、待处理(lǐ)、待优化、待总结等与个人相关的问题和任務(wù)形成统一的工作平台入口,通过公共账号推送的方式,第一时间提醒个人,通知反馈问题的提出者,保障问题可(kě)跟踪,进度可(kě)查询,责任到人的工作流程机制。

离線(xiàn)监控

系统可(kě)定时执行模型监控、作业监控、平台日志(zhì)监控等元数据质量规则引擎,开展数据仓库主题模型、逻辑层级作业、存储资源空间、作业耗时、CPU及内存资源等细化深度分(fēn)析和洞察;按照质量分(fēn)析模型,以时间、增長(cháng)趋势、同环比、历史基線(xiàn)点等多(duō)维度、全面整合打造统一监控平台。

实时监控

从应用(yòng)角度将作业按照业務(wù)条線(xiàn)、数仓分(fēn)层、数仓主题、组织结构和人员等维度划分(fēn),结合作业基線(xiàn)信息,实时监控正在运行的作业质量,并与作业基線(xiàn)形成对比参照,预警不符合标准的指标信息,第一时间通知责任人。实时作业运行与基線(xiàn)对比监控效果如图12所示:


12 实时作业运行监控图

推荐信息

系统通过规则引擎的设置和自动调度的执行,从存储资源配置、数据模型优化、作业优化、日志(zhì)错误超时、预警通知等方面考虑,以制定的质量标准為(wèi)评估依据,自动检测评估,汇总问题,形成可(kě)靠的推荐优化内容,并在达到阈值条件后主动推送消息,触发后续任務(wù)开展。

公共账号

通过“数据治理(lǐ)公共账号”机器人发送消息模式,将预判触发的预警通知、任務(wù)分(fēn)配、任務(wù)提醒和风险评估等信息第一时间通知相应的负责人员,开启工作流程。

故障处理(lǐ)

支持自动提报和人工填报两种模式,以闭环工作流方式开展工作,确保问题故障可(kě)跟踪、可(kě)查询、可(kě)定级、可(kě)考核、可(kě)量化,以责任到人、落地可(kě)行的处理(lǐ)模式,严控数据质量,从根本上提高数据质量,提升业務(wù)服務(wù)水平。

DataMan质量监管系统的投入运营,优化数据存储资源、提高作业性能(néng)、降低任務(wù)耗时、推进了管理(lǐ)工作的规范化和精细化。信息推荐功能(néng)以推送通知的形式将待优化、存风险和超时故障信息第一时间发送个人工作台,以工作流机制推动开展;模型监控、作业监控功能(néng)在数据存储、模型建设、作业耗时等场景合理(lǐ)的控制资源,节省了投资成本。

问题提报和故障管理(lǐ)功能(néng)的有(yǒu)效结合,将问题发现、提报、任務(wù)分(fēn)配、处理(lǐ)完成及Review总结沉淀等形成了责任到人、问题可(kě)询的闭环流程。随着系统的深入运行,将在实时数据监控、质量故障统计管理(lǐ)、数据质量考核机制、数据资产质量权威报告、知识库體(tǐ)系标准化及流程深化管理(lǐ)等功能(néng)方面持续推进和发挥价值。

6.总结

数据质量是数据治理(lǐ)建设的重要一环,与元数据管理(lǐ)、数据标准化及数据服務(wù)管理(lǐ)等共同构建了数据治理(lǐ)的體(tǐ)系框架。建设一个完整DataMan质量监管平台,将从监控、标准、流程制度等方面提升信息管理(lǐ)能(néng)力,优先解决所面临的数据质量和数据服務(wù)问题,其效果體(tǐ)现以下几个方面:

l 监控数据资产质量状态,為(wèi)优化数据平台和数据仓库性能(néng)、合理(lǐ)配置数据存储资源提供决策支持;

l 持续推动数据质量监控优化预警、实时监控的机制;

l 重点优先监控关键核心数据资产,管控优化20%核心资源,可(kě)提升80%需求应用(yòng)性能(néng);

l 规范了问题故障的跟踪、Review、优化方案。从数据中提炼价值,从方案中形成标准化的知识體(tǐ)系;

l 由技术检测到业務(wù)监督,形成闭环工作流机制,提高整體(tǐ)数据质量,全面提升服務(wù)业務(wù)水平。

数据质量是数据仓库建设、数据应用(yòng)建设和决策支持的关键因素,可(kě)通过完善组织架构和管理(lǐ)流程,加强部门间衔接和协调,严格按照标准或考核指标执行落地,确保数据质量方能(néng)将数据的商(shāng)业价值最大化,进而提升企业的核心竞争力和保持企业的可(kě)持续发展。