网易严选质量数仓建设(二)—— 质量数仓项目建设及管理

2020 年 9 月 27 日

网易严选质量数仓建设(二)—— 质量数仓项目建设及管理

在《严选质量数仓建设(一)——数据仓库基本概念》中介绍了一些数据仓库的基本概念,本文将继续介绍质量数仓建设过程和使用到的产品。


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 年加入网易。参与数据产品技术部多个重点产品质量保障工作,建设并完善数据产品部质量保障体系,致力于质量保障工作效能得提升。


2020 年 9 月 27 日 20:191266

评论

发布
暂无评论
发现更多内容

写给孩子的两本书我读得津津有味

孙苏勇

读书 陪伴 随笔杂谈

锦囊篇|一文摸懂SharedPreferences和MMKV(一)

ClericYi

重学 Java 设计模式:实战状态模式「模拟系统营销活动,状态流程审核发布上线场景」

小傅哥

Java 设计模式 小傅哥 重构 代码规范

如何快速将 Linux 系统制作成 ISO 镜像文件?

JackTian

Linux 运维 操作系统 镜像文件 ISO

ARTS-week5

王钰淇

ARTS 打卡计划

产业数字化无法“一蹴而就”,而是“长跑冠军”。

CECBC区块链专委会

Gradle快速入门使用指南 - 安装篇

小隐乐乐

maven

集中全世界程序员的力量,可以在三天之内实现一个手机淘宝吗?

非著名程序员

程序员 软件 程序人生 软件工程 人月神话

最详细的 Spring Cloud OAuth2 单点登录使用教程送给大家

小闫

后端 JVM Java 面试 SpringCloud

Java面试常用知识(附赠最新面试题)

架构大数据双料架构师

面试时被问创建多少个线程合适?你该怎么说?

小谈

面试 线程 JVM springboot SpringCloud

面试腾讯被问JVM性能调优,勉强入职后,发现工资差了这么多

互联网架构师小马

Java 程序员 面试 性能优化 JVM

极客大学架构师训练营 系统架构 分布式缓存 一致性哈希 Hash 第9课 听课总结

John(易筋)

极客时间 极客大学 极客大学架构师训练营 分布式缓存 一致性哈希

小师妹学JVM之:JIT中的PrintAssembly续集

程序那些事

JVM jdk8 小师妹 JDK14 assembly

腾讯的辣酱不香了 支付宝的区块链真能解决“萝卜章”问题?

CECBC区块链专委会

双链通 萝卜章 区块链方案

架构师训练营第五周总结

陈靓-哲露

模式与重构-作业

秤须苑

【自学成才系列二】multipass上ubuntu安装篇

小朱

ubuntu multipass

去面试Spring Cloud 被问的35个问题

小谈

Java 面试 springboot SpringCloud buffer JVM原理

Linux 操作系统!开篇!!!

cxuan

Linux

架构师训练营第五周总结

Melo

极客大学架构师训练营

【自学成才系列一】multipass安装篇

小朱

multipass

架构0期Week4作业1

Nan Jiang

起底印度禁用59款应用的数据表现

谢锐 | Frozen

移动应用 游戏开发 游戏出海 移动互联网 游戏制作

为什么大家都说SELECT * 效率低

Java小咖秀

MySQL Java 面试 经验

Git 的进阶操作

多选参数

git GitHub gitlab

理解Redis的内存回收机制和过期淘汰策略

老胡爱分享

redis LRU

再有人问你分布式事务,把这篇扔给他

码哥小胖

分布式 Java 分布式

架构0期Week4作业2

Nan Jiang

谈谈容器和K8s

Gabriel

MyBatis入门

Simon郎

Java mybatis

网易严选质量数仓建设(二)—— 质量数仓项目建设及管理-InfoQ