一个典型案例:数据治理平台的建设与实践

一个典型案例:数据治理平台的建设与实践

2023年7月19日发(作者:)

⼀个典型案例:数据治理平台的建设与实践背景作为⼀家⾼度数字化和技术驱动的公司,美团⾮常重视数据价值的挖掘。在公司⽇常运⾏中,通过各种数据分析挖掘⼿段,为公司发展决策和业务开展提供数据⽀持。经过多年的发展,美团酒旅内部形成了⼀套完整的解决⽅案,核⼼由+各种数据平台的⽅式实现。其中数据仓库整合各业务线的数据,消灭数据孤岛;各种数据平台拥有不同的特⾊和定位,例如:⾃助报表平台、专业数据分析平台、CRM数据平台、各业务⽅向绩效考核平台等,满⾜各类数据分析挖掘需求。早期数据仓库与各种数据平台的体系架构如图1所⽰:图1 酒旅早期各数据平台和数据仓库体系架构图图1所⽰的体系架构,在业务需求的满⾜上⾮常⾼效,但在长时间的使⽤过程中,也产⽣了如下⼀些问题:· 各数据平台或平台内不同模块的指标定义不⼀致。· 各数据平台或平台内不同模块指标计算⼝径不⼀致。· 各数据平台或平台内不同模块指标数据来源不⼀致。上述这些问题总结归纳起来,就是指标数据不⼀致的问题,最终带来的后果是指标数据可信度底,严重影响分析决策。通过后续追踪分析,上述问题的由来,主要是不同业务线的数据分析⼈员、数据开发⼈员,以及不同的产品之间,缺乏有效的沟通,也没有⼀个统⼀的⼊⼝,来记录业务的发⽣和加⼯过程。在加上⼈员的流动,长时间积累之后就产⽣了这些问题。针对这些问题,酒旅内部启动了项⽬,通过建设⼀个专业数据治理平台,实现指标维度及数据的统⼀管理,也探索⼀套⾼效的数据治理流程。挑战在建设起源数据治理平台的过程中,主要⾯临的挑战如下:· 起源数据治理平台应该在架构中的哪个位置切⼊,减少对原有系统的侵⼊,并实现数据治理⽬标。· 探索⼀套简洁⾼效的管理流程,实现指标维度信息统⼀管理,保证信息的唯⼀性、正确性。· 整合各种存储引擎,实现⼀套⾼并发、⾼可⽤的数据唯⼀出⼝。· 做好各业务线间的信息隔离和管理,确保数据安全。解决思路为了达成数据治理的⽬标,起源数据治理平台就必须记录下业务发展过程,并映射到数据加⼯和数据提取,规范约束这些过程。因此起源数据治理平台归纳到数据治理层,该层就位于数据仓库层(或数据集市层)之上,数据应⽤层之下起到桥梁的作⽤,⽽且提供⼀系列规则,改变原来⽆序交互⽅式,将数据仓库层和数据应⽤层的交互变为有序的、可查询、可监控。新的体系架构如图2所⽰:图2 数据治理后的新体系架构图如上图所⽰,在新的体系架构下:对于数据仓库层,起源数据治理平台综合业务组织形式、指标数据来源、上层产品的使⽤及查询的效率,指导数据仓库模型的建设;对于应⽤层的产品,业务元数据信息及数据信息都是由起源数据治理平台提供,保证了各数据产品获取到的信息⼀致,⽽且还简化了应⽤层产品数据获取成本,也降低了对原有系统的侵⼊。平台架构起源数据治理平台核⼼是保证数据⼀致,在数据安全的前提下,尽可能提升数据分发能⼒。因此平台内部有着极其复杂的关系,需要在建设过程中进⾏抽象,形成具有相对单⼀功能的模块;合理地组织模块的层级和连接关系,降低平台的开发难度,并提升平台的可维护性。平台架构如图3所⽰,展⽰了平台的内部模块组织⽅式。图3 起源数据治理平台架构图如上图所⽰起源数据治理平台在功能模块上由数据存储、数据查询、数据缓存、元数据管理、业务管理、安全管理、应⽤管理、对外API接⼝构成,各模块的功能介绍如下。数据存储起源数据治理平台管理的数据存储范围包括:数据仓库中的Topic层和数据应⽤层,存储⽅式包括:Hive、MySQL、Kylin、Palo、ES、Druid。如下图4所⽰:图4 起源数据治理平台管理的数据存储上图所⽰的这些数据存储中的数据的加⼯过程,由数据开发⼯程师负责,具体采⽤哪种存储介质,由数据开发⼯程师综合所需数据存储空间、查询效率、模型的组织形式等因素决定。但后续的使⽤维护都由起源数据治理平台管理,管理⽅式是通过管理这些数据表的元数据信息和查询实现,具体实现细节会在下⾯章节中详解。数据存储托管之后,数据表元数据信息变更监控、表数据⽣产(存储空间、⽣产状态及完成时间)监控、表数据波动(同环⽐等)监控以及表的使⽤(模型的构建及查询效率等)监控及评估,都由起源数据治理平台⾃动完成,所有信息的变动都会⾃动周知对应的负责⼈,保证数据应⽤的安全和稳定。元数据管理元数据信息宏观上包括两⼤部分:业务元数据信息和数据元数据信息。其中业务元数据信息包括:指标业务定义、维度的业务定义等;数据元数据信息包括:数据表元数据信息、模型元数据信息、维表与维度的绑定关系、数据模型字段与指标的绑定关系。起源平台为了实现元数据信息的管理,设计了四个模块实现,分别是:数据表管理模块、模型管理模块、指标管理模块、维度管理模块。元数据管理是起源数据治理平台的核⼼,起源平台就是通过控制好元数据,来驱动数据的⽣产和消费。数据表管理模块数据表管理模块管理了数据库信息和数据表信息。其中数据库信息包括数据库链接信息,数据库信息维护后,起源数据治理平台⾃动获取对应库中表的元数据信息。数据表信息包括:表的元数据信息(引擎、字段等)、表类型(维表或事实表)、表的使⽤情况(是否被模型使⽤)、表对应的ETL、表的负责⼈、表的推荐度、描述信息、表的监控配置及报警历史、以及样例数据等。上述这些信息为业务⽤户提供指导,为模型管理提供数据⽀持,为数据表和数据的稳定提供监控和预警。模型管理模块模型管理模块能够还原业务落地后数据表的组织关系,包括:数据表的关联⽅式(join、left join、semi join等)、数据表的关联限制、模型ER图、模型包含字段、模型字段与维度的绑定关系、模型与指标的绑定关系。不过在实际使⽤过程中,⾯向业务和⾯向分析的模型有所不同,起源数据治理平台是⾯向分析的,所以主要的模型包括维度建模中的星型模型或雪花模型,再就是OLAP多维分析的MOLAP或ROLAP。模型管理如下图5、图6所⽰:图5 起源数据治理平台数据表模型图6 起源数据治理平台SQL模型维度管理模块维度管理模块包括基础信息和技术信息,对应着不同⼈员维护。其中基础信息对应维度的业务信息,由业务管理⼈员维护,包括维度名称、业务定义、业务分类。技术信息对应维度的数据信息,由数据开发⼯程师维护,包括是否有维表(是枚举维度还是有独⽴的维表)、是否是⽇期维、对应code英⽂名称和中⽂名称、对应name英⽂名称和中⽂名称。如果维度有维表,则需要和对应的维度表绑定,设置code和name对应的字段;如果维度是枚举维,则需要填写对应的code和name。维度的统⼀管理,有利于以后数据表的标准化,也⽅便⽤户的查看。指标管理模块指标管理模块核⼼包括基础信息和技术信息管理,衍⽣信息包括关联指标、关联应⽤管理。基础信息对应的就是指标的业务信息,由业务⼈员填写,主要包括指标名称、业务分类、统计频率、精度、单位、指标类型、指标定义、计算逻辑、分析⽅法、影响因素、分析维度等信息;基础信息中还有⼀个⽐较重要的部分是监控配置,主要是配置指标的有效波动范围区间、同环⽐波动区间等,监控指标数据的正常运⾏。技术信息构成⽐较复杂,包括数据类型、指标代码,但是核⼼部分是指标与模型的绑定关系,通过使⽤演进形成了当前系统两类绑定关系:绑定物理模型和构建虚拟模型。绑定物理模型是指标与模型管理中的物理模型字段绑定,并配置对应的计算公式,或还包含⼀些额外的⾼级配置,如⼆次计算、模型过滤条件等;创建虚拟模型是通过已有指标和其对应的物理模型,具体步骤⾸先配置已有指标的计算⽅式或指标维度的过滤,然后选择指标已绑定的物理模型,形成⼀个虚拟模型,虚拟模型的分析维度就是所选指标基础模型的公共维度。衍⽣信息中的关联指标、关联应⽤管理,是为了⽅便观察指标被那些其他指标和数据应⽤使⽤,这是因为指标技术信息采⽤了严格权限控制,⼀旦被使⽤为了保证线上的运⾏安全是禁⽌变更的,只有解绑并审核通过后才可以编辑,所以这些衍⽣信息就是⽅便管理⼈员使⽤。指标技术信息如图7所⽰:图7 起源数据治理平台指标技术信息业务管理业务管理按照功能划分为业务线管理、主题管理和⼯单管理三部分,在系统的实际建设中是拆分为业务主题管理、数据主题管理和⼯单管理三⼤模块实现的。相关模块的建设主要保证业务⼈员和数据⼈员业务主题建设,相关模块的权限控制,业务流程审核,对应资源的隔离以及业务资源加⼯申请和加⼯过程的记录追踪。具体实现和功能如下:业务主题管理实现业务业务线管理和业务主题管理,实现不同业务线的管理以及业务线下的业务主题管理。业务线的拆分还隐藏着其他模块的权限管控和资源隔离的功能,不同业务线的⽤户只能看到有权业务线的指标和维度;⽽且业务线的⽤户划分为普通⽤户和管理员,分别查看或编辑维度和指标的业务信息。⽽且业务线和业务主题中分别维护的商分负责⼈对指标进⾏⼆级审核,因为新创建的指标仅仅是普通指标,如果想要全⽹都能查看,则需要发起认证,由这些⼈员审核。数据主题管理数据主题管理实现数据业务线和数据主题管理,实现不同数据线的管理以及数据线下的数据主题管理。数据线的拆分也隐藏着对数据表、模型、指标、维度的资源隔离和权限管控的功能,不同数据线的⽤户只能查看有权数据线的资源;⽽且数据线的⽤户分为普通⽤户和管理员,对有权资源进⾏查看或编辑。数据线的接⼝⼈在⼯单模块中具有审核⼯单的权限功能。数据主题的负责⼈拥有审核模型和指标技术信息的权限功能。⼯单模块管理⼯单模块管理实现了指标维度和对应模型加⼯线上申请、审核、加⼯、审批的流程。整个模块也是围绕着这四个流程实现的,具体是业务⼈员发起指标和维度集合的加⼯申请,然后由数据线接⼝⼈审核⼯单的合理性并分配对应的数据开发⼯程师,数据开发⼯程师加⼯模型并与对应的维度指标绑定,然后在⼯单中提交由数据接⼝⼈审核是否合理,最终由⼯单发起⼈验收。这个流程是⼀个标准的⼯单流程,每个节点的业务流程可能会反复,但是每次操作都进⾏记录,⽅便业务⼈员后期追踪。⼯单管理如下图8所⽰:图8 起源数据治理平台⼯单管理安全管理安全管理是起源数据治理平台核⼼功能之⼀,分为平台操作权限管理和接⼝调⽤权限管理两⼤部分。其中平台操作权限管理是通过与公司将军令权限管理系统打通,并配合平台其他模块中权限控制代码,实现了权限管理、审批、审计三⼤功能模块;接⼝权限管理是通过平台内的数据应⽤管理和外部应⽤管理模块的映射关系,并在接⼝调⽤时鉴权实现,这部分会在下⾯的应⽤管理章节中介绍。权限管理模块权限管理模块是将平台的资源分划分为页⾯权限、业务线&数据线⽤户权限、数据应⽤权限来实现的。页⾯权限实现平台内页⾯访问控制。业务线&数据线⽤户权限是将⽤户分类为普通⽤户和管理员,普通⽤户只能查看业务线和数据线内资源,管理员可以操作业务线和数据线内的资源;并且通过业务线和数据线的独⽴管理实现资源隔离,业务线实现了所属维度和指标的隔离;数据线实现了所属数据表和模型的隔离,并且通过建⽴业务线和数据线的关联关系,也保证了指标和维度的技术信息操作隔离。数据应⽤中每个应⽤都是独⽴管理的,每个应⽤权限都拆分普通⽤户和管理员,普通⽤户可以访问查询应⽤,管理员可以操作应⽤。审批模块审批模块包含审批⼯作流、我的申请、我的审批构成。审批⼯作流是根据不同的应⽤场景实现不同层级的审批,例如:在指标管理中服务于个⼈的普通指标变更为服务于整个业务线的认证指标,就需要发起两级审批,由业务主题负责⼈和业务商分审核通过才可以;模型管理中新增或修改模型上线,都需要数据主题负责⼈审批;数据应⽤的变更,都需要下游所有依赖外部应⽤负责⼈审批才⽣效。我的申请和我的审批是平台页⾯⽅便⽤户查看流程进度和操作审核。审批模块⽬标是保证发布信息的正确性、系统服务的稳定性。审计模块审计模块包括⽤户操作记录和记录查看追踪。⽤户操作记录是平台各模块调⽤接⼝记录⽤户每次操作前后的数据变更;记录查看追踪是检索查询页⾯,查看对应的变更。审计模块保证了⽤户操作追踪追责,也保证误操作的信息恢复。应⽤管理应⽤管理由数据应⽤、外部应⽤、数据地图三⼤模块组成,它们构成了对外服务的主体,记录了外部应⽤与平台内管理的指标、维度、模型和表的关联关系,也提供数据查询展⽰、应⽤层ETL⽣产的能⼒。⽽且数据开发⼈员从底层向上观察,可以追踪数据最终的所有流向;业务分析⼈员从顶层向下观察,可以看到构成服务的所有数据来源。数据应⽤模块数据应⽤模块是记录⽣成每个服务所需的指标、维度和数据模型的关系。每次服务中可以包含多个指标,这些指标可以来源于多个数据模型,不过不同的数据模型中需要包含公共维度,因为是通过这些公共维度将不同模型关联起来。数据应⽤中构建的服务可以发布成查询服务、应⽤层ETL⽣产服务、对外API数据接⼝服务、通⽤报表配置服务,来满⾜业务的不同需求。数据应⽤管理如下图9所⽰:图9 起源数据治理平台数据应⽤外部应⽤模块外部应⽤模块管理外部应⽤和应⽤内的模块,以及这些模块订阅的对应数据应⽤,⽬标是实现API接⼝调⽤的权限管理和数据最终流向的记录。具体的实现上模块⾸先创建对应的外部应⽤,记录外部应⽤的名称、URL、APPKEY等信息,然后由对应应⽤的负责⼈创建模块,记录模块名称、URL、moduleKey等信息。这些信息完善后,由对应的数据应⽤赋权给对应的模块,建⽴起数据应⽤与外部应⽤的联系。最后在外部应⽤调⽤平台对外API接⼝时,进⾏权限管理。数据地图数据地图功能是追查数据的流向,可以从数据表、模型、指标、数据应⽤、外部应⽤任意节点查看上游数据来源和下游数据去向。起源数据治理平台核⼼功能也是组织这些节点间的关系,形成完整的服务,数据地图就是通过上⾯介绍模块记录的关系,追踪数据流向,⽅便数据开发⼈员和业务分析⼈员了解数据消费和数据来源。数据地图如下图10所⽰:图10 起源数据治理平台数据地图对外API对外API接⼝是⼀套完整的对外信息提供接⼝,提供的功能分为元数据信息类的接⼝、数据类接⼝、监控统计类接⼝,分别满⾜外部平台和分析⼈员的对应需求。外部系统通过起源数据治理平台获取到的元数据和数据是经过认证并由平台⾃动校验后的,可以保证信息的⼀致性、正确性。元数据信息接⼝元数据信息接⼝提供的包括指标、维度业务元数据信息和数据表、模型、指标计算、维度维表相关的数据元数据信息,实现与上游系统信息共享,达到信息⼀致性的⽬标。数据类接⼝数据类接⼝提供指标维度数据查询服务,不单单满⾜常见的单条SQL查询,⽽且可以实现多次查询聚合运算(例如:同环⽐等)以及跨引擎查询,并通过并发处理,可以有效提升查询效率,满⾜更多的业务场景。接⼝具有监控功能,能够评估每次查询效率,提供查询指导或预警的能⼒。监控统计类接⼝监控统计类接⼝提供指标数据监控信息、指标维度使⽤统计、数据接⼝的调⽤效率统计等服务,帮助下游服务平台了解服务质量。内部⼯作原理起源数据治理平台内部⼯作原理就是实现指标、维度业务信息与数据模型计算关系的映射管理,并根据外部应⽤所需的指标、维度以及查询条件选择最优的模型动态的实现查询SQL或查询Query的拼接,然后通过分布式查询引擎实现数据的⾼效查询,具体过程如下图11所⽰:图11 起源数据治理平台内部⼯作原理上图所⽰的分布式查询引擎,整合了⼤数据分析常见的各种存储,通过封装的接⼝提供服务。⽽且分布式是通过Akka Cluster⾃主实现,通过Cluster Singleton解决单点故障的问题,通过Redis实现了任务队列的持久化,通过平衡⼦节点任务量实现任务的合理调度,通过查询状态监控⾃动实现查询降级和任务队列的拆解,并且也完善了整个调度的监控,可以实时查看任务和节点的运⾏情况。管理流程起源数据治理平台⽣产所需参与的⾓⾊包括:业务⼈员和数据开发⼈员(RD)。为了保证信息的正确性,平台内有着严格的管理流程,需要不同的⾓⾊在对应的节点进⾏维护管理,平台的管理流程如下图12所⽰:图12 起源数据治理平台管理流程所上图所⽰,指标的业务信息需要业务⼈员⾸先进⾏维护,然后数据RD同学进⾏相应的数据表的建设,维护对应的数据表和模型的元数据信息,并完成指标与模型的绑定,最后由数据RD同学构建数据应⽤为⽤户、业务系统及数据产品等提供服务。建设成果经过长时间的探索开发,完成了起源数据治理平台的建设,成功的解决了上⾯提到的问题,并且已经完成了酒旅内部10+个数据平台(包括定制化产品和通⽤报表服务平台)的数据治理⽀持。起源数据治理平台还带来了⼀些额外的收获,总结归纳起来实现了3个⽬标,提供了4种能⼒,如下:· 统⼀指标管理的⽬标。保证指标定义、计算⼝径、数据来源的⼀致性。· 统⼀维度管理的⽬标。保证维度定义、维度值的⼀致性。· 统⼀数据出⼝的⽬标。实现了维度和指标元数据信息的唯⼀出⼝,维值和指标数据的唯⼀出⼝。· 提供维度和指标数据统⼀监控及预警能⼒。· 提供灵活可配的数据查询分析能⼒。· 提标数据地图展⽰表、模型、指标、应⽤上下游关系及分布的能⼒。· 提供⾎缘分析追查数据来源的能⼒。如果换位到指标的⾓⾊,以辩证的⾓度分析,起源数据治理平台解决了⼀个终极哲学问题:我是谁,我从哪⾥来,我到哪⾥去。未来展望起源数据治理平台是天⼯体系(从数据管理、查询到展⽰的⼀个完整⽣态)的⼀部分,整个天⼯体系还包括如意通⽤报表系统、筋⽃云数据查询系统。通过对天⼯体系的建设,直接⽬标是为业务提供⼀整套⾼效、⾼质量的数据服务平台;但是在天⼯体系的建设中,进⾏微服务治理,抽象形出⼀套统⼀标准,吸纳更多的业务参与建设,为业务提供开发降级,避免服务的重复建设,提升服务建设速度。如下图13所⽰:图13 天⼯体系架构图如上图所⽰,天⼯体系开放三套交互标准,实现模块的可插拔和⾃由扩展,分别是:· 元数据交互标准,实现元数据管理的可插拔。· 数据查询标准,实现数据查询引擎的可插拔。· 可视化组件数据交互标准,实现可视化组件的可插拔。原⽂链接服务推荐

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689764278a284286.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信