数据,已经成为互联网企业非常依赖的新型重要资产。数据质量的好坏直接关系到信息的精准度,也影响到企业的生存和竞争力。MichaelHammer(《ReengineeringtheCorporation》一书的作者)曾说过,看起来不起眼的数据质量问题,实际上是拆散业务流程的重要标志。数据质量管理是测度、提高和验证质量,以及整合组织数据的方法等一套处理准则,而体量大、速度快和多样性的特点,决定了大数据质量所需的处理,有别于传统信息治理计划的质量管理方式。
本文将基于美团点评大数据平台,通过对数据流转过程中各阶段数据质量检测结果的采集分析、规则引擎、评估反馈和再监测的闭环管理过程出发,从面临挑战、建设思路、技术方案、呈现效果及总结等方面,介绍美团平台酒旅事业群(以下简称美旅)数据质量监管平台DataMan的搭建思路和建设实践。
美旅数据中心日均处理的离线和实时作业高达数万量级,如何更加合理、高效的监控每类作业的运行状态,并将原本分散、孤岛式的监控日志信息通过规则引擎集中共享、关联、处理;洞察关键信息,形成事前预判、事中监控、事后跟踪的质量管理闭环流程;沉淀故障问题,搭建解决方案的知识库体系。在数据质量监管平台的规划建设中,面临如下挑战:
DataMan质量监管平台研发正基于此,以下为具体建设方案。
构建美旅大数据质量监控平台,从可实践运用的视角出发,整合平台资源、技术流程核心要点,重点着力平台支持、技术控制、流程制度、知识体系形成等方向建设,确保质量监控平台敏捷推进落地的可行性。数据质量监控平台整体框架如图1所示:
以数据质量检核管理PDCA方法论,基于美团大数据平台,对数据质量需求和问题进行全质量生命周期的管理,包括质量问题的定义、检核监控、发现分析、跟踪反馈及知识库沉淀。数据质量PDCA流程图如图2所示:
关键流程:
质量监管平台建设实践应用及价值体现,离不开管理流程、技术实现和组织人员的紧密结合,主要包含如下8大流程步骤:
大数据平台下的质量检核标准更需考虑到大数据的快变化、多维度、定制化及资源量大等特性,如数仓及应用BI系统的质量故障等级分类、数据模型热度标准定义、作业运行耗时标准分类等和数仓模型逻辑分层及主题划分组合如下图3所示。
各项均对应具体的实施策略。整体数据质量的检核对象包括离线数仓和实时数据。
数据质量功能模块设计的主要功能如上图4所示,包括:监控对象管理、检核指标管理、数据质量过程监控、问题跟踪管理、推荐优化管理、知识库管理及系统管理等。其中过程监控包括离线数据监控、实时数据监控;问题跟踪处理由问题发现(支持自动检核、人工录入)、问题提报、任务推送、故障定级、故障处理、知识库沉淀等形成闭环流程。
流程化管理是推进数据问题从发现、跟踪、解决到总结提炼的合理有效工具。质量管理流程包括:数据质量问题提报、数据质量问题分析、故障跟踪、解决验证、数据质量评估分析等主要环节步骤;从干系人员的角度分析包括数据质量管理人员、数据质量检查人员、数据平台开发人员、业务及BI商分人员等,从流程步骤到管理人员形成职责和角色的矩阵图。如图5所示:
质量流程管理:
DataMan系统建设总体方案基于美团的大数据技术平台。自底向上包括:检测数据采集、质量集市处理层;质量规则引擎模型存储层;系统功能层及系统应用展示层等。整个数据质量检核点基于技术性、业务性检测,形成完整的数据质量报告与问题跟踪机制,创建质量知识库,确保数据质量的完整性(Completeness)、正确性(Correctness)、当前性(Currency)、一致性(Consistency)。
总体架构图如图6所示:
DataMan应用系统其前端框架(如上图7)基于Bootstrap开发,模板引擎为FreeMarker,Tomcat(开发环境)作为默认Web容器,通过MVC的方式实现与应用服务层对接。Bootstrap的优势基于jQuery,丰富的CSS、JS组件,兼容多种浏览器,界面风格统一等;FreeMarker为基于模板用来生成输出文本的引擎。后台基于开源框架Spring4,SpringBoot,Hibernate搭建,其集成了Druid,Apache系列和Zebra等数据库访问中间件等,为系统的功能开发带来更多选择和便利。
系统数据库连接采用中间件Zebra,这是美团点评DBA团队推荐的官方数据源组件,基于JDBC、API协议上开发出的高可用、高性能的数据库访问层解决方案;提供如动态配置、监控、读写分离、分库分表等功能。Zebra整体架构如图8所示:
Zebra客户端会据路由配置直连到MySQL数据库进行读写分离和负载均衡。RDS是一站式的数据库管理平台,提供Zebra的路由配置信息的维护;MHA组件和从库监控服务分别负责主库和从库的高可用。Zebra支持丰富的底层连接池;统一源数据配置管理;读写分离和分库分表;数据库的高可用。
整个质量监管平台数据流向为数据质量元数据信息采集于美团平台,包括数据仓库元数据信息、质量检测元数据、调度平台日志信息、监控日志及实时元数据信息等,加工形成独立数据质量的集市模型,以此支撑应用层系统的数据需求。应用层系统数据库采用关系型数据库存储的方式,主要包含了规则配置管理信息、数据质量结果库等信息内容。数据流向层级关系图如下:
质量集市层:DM数据质量集市的独立创建是依托基础元数据信息,根据质量监管平台配置的引擎规则ETL加工形成。规则库引擎如数仓应用主题的划分规则、数仓逻辑分层约束、数据库引擎分类、模型使用热度等级、模型存储空间分类、资源增长等级、历史周期分类、作业重要级别、作业运行耗时等级、作业故障分类、及数据质量标准化定义等;在管理方向上,如模型或作业所属的业务条线、组织架构、开发人员等;在时效上分为离线监控数据、实时数据集市等。从多个维度交叉组合分析形成模型类、作业类、监控日志类、实时类等主题的等易理解、简单、快捷的数据质量集市层,强有力的支撑上层应用层功能的数据需求。数据质量集市DM主要模型如图10所示:
应用分析层:应用层系统数据采用关系型数据库(MySQL)存储的方式,主要包含了规则配置管理信息、数据质量分析结果、实时API落地数据、故障问题数据、知识库信息、流程管理及系统管理类等信息内容,直接面对前端界面的展示和管理。
数据质量DataMan监控系统一期建设主要实现的功能包括:个人工作台、信息监控、推荐信息、信息提报、故障管理、配置管理及权限系统管理等。系统效果如图11所示:
系统通过规则引擎的设置和自动调度的执行,从存储资源配置、数据模型优化、作业优化、日志错误超时、预警通知等方面考虑,以制定的质量标准为评估依据,自动检测评估,汇总问题,形成可靠的推荐优化内容,并在达到阈值条件后主动推送消息,触发后续任务开展。
支持自动提报和人工填报两种模式,以闭环工作流方式开展工作,确保问题故障可跟踪、可查询、可定级、可考核、可量化,以责任到人、落地可行的处理模式,严控数据质量,从根本上提高数据质量,提升业务服务水平。
数据质量是数据治理建设的重要一环,与元数据管理、数据标准化及数据服务管理等共同构建了数据治理的体系框架。建设一个完整DataMan质量监管平台,将从监控、标准、流程制度等方面提升信息管理能力,优先解决所面临的数据质量和数据服务问题,其效果体现以下几个方面:
数据质量是数据仓库建设、数据应用建设和决策支持的关键因素,可通过完善组织架构和管理流程,加强部门间衔接和协调,严格按照标准或考核指标执行落地,确保数据质量方能将数据的商业价值最大化,进而提升企业的核心竞争力和保持企业的可持续发展。