探索BI系统搭建的必要性与AI技术的应用潜力
866
2022-05-30
本文来自【研发智能图书馆】系列,旨在介绍如何使用华为云EI服务来进行大数据开发的架构与实践,给准备使用华为云EI服务来进行数据研发的小伙伴提供一些借鉴和帮助。
前言
在产品线多、数据量大、需求不一的背景下,我们数据团队需要从0到1打造一个可快速接入不同产品线数据、快速适配各产品线业务、同时能够提供数据应用的“数据引擎”。于是我们针对业务特点建设了测试域的数据仓库,通过划分数据主题,减少数据计算链路,实现统一的数据加工逻辑。
首先列举一下数据开发架构中使用的EI服务:
OBS对象存储服务(Object Storage Service),类似于Hadoop的HDFS
DLI数据湖探索(Data Lake Insight),主要用于SparkSql和FlinkSql的数据计算
DAYU数据湖运营平台,作业调度系统,实现ETL功能。
MRS,大数据集群服务,我们的Kafka环境在上面运行
GES,图引擎服务,用来构建节点和边的知识图谱,服务于E2E追溯应用
CSS,云搜素服务,类似于elasticsearch
RDS,MySql数据库
CDM,云数据迁移(Cloud Data Migration),用于OBS到RDS的数据同步
整体数据架构如图一所示,自底向上包括数据源、数据存储、数据计算、数据应用四层。接下来分别对这四层做详细介绍。
图1:测试域数据架构
数据源
在数据源接入层,我们需要接入追溯链路上每个节点的数据,包含ALM(需求平台)、TestDesign(测试设计)、TMSS(测试用例)、TICC(用例执行)、TDB(测试结果)、DTS(问题单平台)。
在数据源的采集过程中,可以分成FDI/CDM增量采集(保存数据快照)、Binlog日志采集、接口采集、日志采集四种方式。在数据量较少且上游提供了数据接口的情况,我们直接调接口同步数据。对于服务器日志文件的采集,我们使用Flume进行日志的同步。天级离线同步使用FDI/CDM,可以T+1增量保存数据快照。但是在业务数据库分库分表太多的情况下,比如超过10000张表,FDI/CDM需要对接每一张表,并且由于其保存数据快照的方式导致无法和数据库表的添加删除同步,配置的工作量就会特别大,所以我们使用业界成熟同时在社区中较为活跃的方案,即通过Maxwell采集Mysql的Binlog日志。通过Maxwell,我们可以很方便地从Binlog里获取数据删除和修改的记录,同时Maxwell相对比较轻量并且支持使用bootstrap读取表中的全量数据,通过这套采集方案,我们解决了分库分表数量大的问题,同时兼顾离线数据和实时数据消费,具体的数据接入流程如下图所示。
图2:数据接入流程
数据存储
数据采集完后离线数据会落入到对象存储服务(OBS),实时数据会进入MRS集群搭建的Kafka管道。
数据计算
在数据计算部分,离线计算是基于SparkSql,而实时计算则使用Flink,任务调度使用的是华为云EI智能数据湖运营平台(DAYU)以实现ETL功能。
数据应用
在数据应用层,我们使用了华为云图引擎服务(Graph Engine Service,简称为GES)来构建百亿级的知识图谱,用于数据可追溯的查询分析。当前数据报表的底存储使用的是关系型数据库(RDS),后续将引入数据仓库服务(Data Warehouse Service,简称为DWS),这种MPP的底层数据引擎可用于OLAP分析和对外提供接口服务。
在对外提供数据服务时,我们使用的是团队自研开发的AIMS,是一套基于tornado实现的Web 服务框架,AIMS的服务架构如下图所示。在第2期的文章中,介绍了AIMS的详细内容,这里不做重复描述。基于AIMS架构,我们目前支撑了公司30+产品的E2E追溯诉求。
图3:AIMS整体服务架构
结语
当前,我们已打造了基于EI平台的一站式数据服务,提供包括数据规范、数据接入、数据处理与计算和数据总线服务。我们正在建设支撑各产品线的数据总线服务,支撑全公司从需求->用例->问题单所涉及的关键路径的数据查询和获取,同时更为严格地把控数据血缘,打造更为准确规范、一致完整的数据质量。在加强数据完备性建设的同时,可以预见的是数据开发需求的井喷,所以在今后的工作中还需要考虑开放数据计算、存储能力等赋予业务方有数据开发的能力。我们会继续做好数据运营(DataOps),加强数据工程能力、数据集成能力和自动化能力,更好地服务于各产品线。
【研发智能图书馆】系列其他文章:
《主动学习在DevOps中的应用与实践》,《文档驱动开发模式在 AIMS 中的应用与实践》,《软件“美不美”,UI测试一下就知道》。
DevOps EI智能体 大数据 敏捷开发
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。