在《严选质量数仓建设(一)——数据仓库基本概念》中介绍了一些数据仓库的基本概念,本文将继续介绍质量数仓建设过程和使用到的产品。
1. 项目规划 &需求定义
DW/BI 自主开发的整个过程如上图所示,数仓的建设过程从项目规划开始,在项目规划过程中主要任务在于项目目标和范围的界定。
随着严选整体业务的发展,常规手段的质量保障工作在覆盖业务需求上越来越吃力,为了衡量业务过程中质量保障工作的效果,提升研发、质量保障、项目管理等项目各阶段的效能,决定由严选已有的质量数仓系统承载,建设一个由指标、模型驱动的质量可视化体系。而一切与质量相关的数据域都会纳入质量数仓建设范围内,如版本发布数据、需求任务数据、用例数据、Bug 数据、git 提交数据等。
2. 技术架构设计 &产品选择
质量数仓前期的需求主要在于离线数据指标的产出,故而在先期建设上,主要关注离线数仓建设的结构设计及工具选择。如上所示,严选质量数仓,基于严选已有的离线数仓架构体系,在其中剥离出质量数仓项目,与严选业务数据仓库共同建设。
DataHub
质量数仓使用 DataHub 从各业务数据源中采集数据,并将数据同步到指定库中。DataHub 主要是负责收集 MySQL、MongoDB、Kafka、Hbase 等数据,并将这些实时生成的数据转成统一的数据格式,提供给严选大数据计算平台(猛犸)和流计算平台。同时 DataHub 也负责了严选各个异构数据存储系统之间的数据同步工作,包括:MySQL, HIVE, ES, HBase, Redis, MongoDB,Excel,外部 http 接口产生的数据之间的双向或单向同步。
Mammut
猛犸平台是为数据开发人员及数据平台管理人员服务的,集成了传输、计算/ETL、调度等数据开发功能的数据开发平台。支持 Hive、Spark、Mapreduce 等多种计算引擎。也是质量数仓开发同学的主要“作战工具”之一,通过在猛犸上创建各种数据开发任务,维度调度信息,从而按照指定的周期、时间产出所需的数据表。
YouData
严选有数是基于网易有数,为严选定制开发的可视化敏捷 BI 产品。主要用来制作可交互的可视化数据报表,支持各种多种图表形式。质量数仓的开发同学需要使用有数来制作数据报表,将由猛犸产出的数据指标通过合适的图表展示出来。而报告查看者可以通过各种类型的筛选查看自己最关心的数据。
仓颉
仓颉,是严选数仓的指标管理系统,通过该系统管理原子指标、派生指标、维度、派生词、修饰词等。通过系统明确指标的定义、计算口径,一方面能够让开发人员了解指标含义,减少重复开发或错误使用;另一方面能够让报告阅览者了解指标的计算方式,避免因个人理解差异,导致对指标的理解出现偏差,而做出错误的决策。
统一查询
统一查询将数据仓库中产出的数据表依据需求同步到各中类型的数据库中,各数据产品应用通过统一查询来查询所需的数据指标,而无需关心数据库类型,因此减少了数据源配置,提高了数据查询速度,并且减少了重复工作。质量数仓体系,目前没有属于自己的数据可视化产品,但在规划中的质量数据平台,必然也要通过统一查询来获取数据。
作者简介
婧雯,网易严选资深测试工程师,2014 年毕业于北京理工大学,2017 年加入网易。参与数据产品技术部多个重点产品质量保障工作,建设并完善数据产品部质量保障体系,致力于质量保障工作效能得提升。
评论