性能平台数据提速之路

作者 | 功能中台团队

导读

功能渠道负责MEG一切研制数据的办理、接入、传输、运用等各个环节。数据的提速对于公司报表建造、决策剖析、转化策略效果都有至关重要的影响。要点介绍数据出产端与消费端提速落地实践,怎么高性价比满意大数据出产端提速?怎么在数据合规根底上快速满意数据报表提速?本文从事务优化视角全体介绍提速思路,包括5类优化途径,触及18种提速办法。

全文3689字,预计阅览时刻10分钟。

01 概述

1.1 功能渠道

功能渠道是APP功能追寻的一站式处理方案渠道,为APP供应全面、专业、实时的功能剖析服务与东西链。根据先进的端异常采集才能、实时反混淆技能等,供应实时性强、定位速度快、场景丰厚的运用监控剖析才能,并构建异常处理的闭环,在厂内移动端产品得以大范围运用,保证移动端用户体会,有效地减少了用户流失。

1.2 接入情况

已掩盖了厂内大多数要点产品,其中包括:百度APP全打点、小程序、矩阵APP等,数据目标如下:

  • 接入情况:简直掩盖了厂内已有APP,小程序,立异孵化APP,以及厂外收购APP。

  • 服务规模:处理数据千亿/日、端到端入库时刻毫秒等级、掩盖用户数6亿+。

1.3 名词解释

图灵:新一代数仓渠道,在实时核算、存储才能、查询引擎、资源调度等均有提高。

UDW:Universal Data Warehouse,百度通用数据仓库,UDW用渠道化的存储办理、数据办理、数据建造过程办理和元数据办理技能,供应全面、共同、高质量、面向剖析的用户行为根底数据,百度早期数据仓库。

TM:是一个面向工作流的分布式核算体系,具有简洁、高可靠性和高吞吐量的特性,且易被方便地办理和监控。能够满意准实时(秒到分钟级)的流式核算需求,毛病时能够做到数据不丢不重。

一脉:整合多种数据源的全事务自助剖析东西,为剖析师、PM、运营、RD各人物供应服务。一脉打破了原有报表、东西的定制限制,支持零SQL根底的同学可视化拼接查询条件、或直接SQL查询,一起供应多种通用剖析模板供咱们运用。

AFS:百度自研的Append-Only分布式文件体系产品,掩盖百度一切事务线,为开发者供应高功能、高可用、高可扩展的存储才能,广泛运用于离线核算、AI练习、数据备份等场景。

1.4 事务介绍

  • 掩盖范围:包括崩溃、卡顿、Flutter、端异常、日志回捞、网络库、磁盘等大部分功能场景,掩盖了公司多条产品线

  • 数据加工:供应实时、可靠精确的实时用户监测,秒级精确加工10万QPS吞吐数据。

  • 异常感知方面:事前线下检测,事中渠道上线check机制、过后分钟级告警、感知并剖析异常,快速止损;

  • 问题剖析阶段:多维聚类、多维勘探、全网热力求、日志调用链剖析、日志回捞等东西,帮忙快速定位问题;

    性能平台数据提速之路

02 面对的问题

2.1 数据出产阶段

  • 数据技能基建落后;存储体系(厂版化无法迭代)、查询引擎(厂内引擎下线、查询速度较慢)、实时核算(不支持实时引擎)、资源调度(资源弹性弱)等才能不足;

  • 数据短少服务分级;中心数据与非中心区分,服务等级保证机制不明确;离线数据流架构不合理、很多运用公共队列数据SLA无法保证。预期:实时流数据分钟等级SLA、准实时数据30分钟等级SLA、离线流数据小时等级SLA;

  • 数据无效/重复上报;部分点位下线、点位之间功能重合度高仍在上报导致数据总量存在虚高;数据报表冗余,无人访问或许事务重复;有限核算/存储资源供应到无效数据上。

2.2 数据消费阶段

  • 数据合规性难保证;数据短少统一出口,数据消费一起存在接口、成果层数据库、中心层数据等体系中进行数据报表呈现,用于数据剖析、报警监控。

  • 数据需求满意度低;报表类需求占咱们需求全体接近50%, 数据需求需求点对点单独排期与开发,此研制流程投入大,需求交给速度慢。

  • 用户全体满意度低;数据实时性差:从数据产生到数据可被查询,中心存在较高时延(从数十分钟到天等级不等)查询较慢,SLA保证机制弱;数据需求交给慢:用户数据需求完全依赖数据团队产出,当有人力弥补时数据保护/学习本钱高,简单呈现Delay,添加字段/修改数据源等会掩盖整个流程。

03 优化途径

3.1 新老基建比照

思路:根据流批一体的思路,经过TM引擎的实时解析平铺 + Spark动态索引导入图灵的方法替代QE引擎静态导入UDW,然后进行ETL阶段的提速,在该阶段提前将嵌套字段进行铺平构成图灵研制大表去除旧数据流中的中心表产出环节。

3.1.1 新老基建比照

性能平台数据提速之路

3.1.2 新老数据流

性能平台数据提速之路

3.2 数据服务分级

3.2.1 服务分级理论支持

  1. 进步服务功率:更好地了解用户的需求,供应更加精准、专业的服务,然后进步服务功率。

  2. 改进服务质量:服务分级能够让用户享受到更加贴近需求的服务,进步服务的质量和满意度。

  3. 优化资源装备:更好地根据不同的服务需求和服务对象,优化资源装备,进步资源使用率。

3.2.2 数据流/报表SLA

性能平台数据提速之路

3.3 数据点位/目标/报表管理

3.3.1 管理思路

[外链图片转存失败,源站可能有防盗链机制,主张将图片保存下来直接上传(img-ezx2sPvX-1678155747102)(mmbiz.qpic.cn/mmbiz_png/5…)]

3.4 数据合规性管理

3.4.1 布景介绍

2021年9月1日正式实施《中华人民共和国数据安全法》,触及数据的出口管制、数据分类分级、数据合规性等一系列数据方面法律法规要求。数据消费流程添加势必会影响用户运用体会,怎么在数据满意合规的根底上快速助力事务开展是咱们的尽力的方向。

数据BI渠道/ 功能渠道/其他数据剖析渠道数据接入方案大致分为如下几种:

1、直连存储引擎;

2、数据笼统API ;

3、数据自产自销;咱们的事务特点衔接双端研制、多方数据、QA等多方面人物对接,初中期合适API方法,慢慢收敛到数据自产自销。

性能平台数据提速之路

弥补阐明:

市面上的BI剖析均支持API方法衔接,基本已完成协议规范化。BI衔接数据库查询方法,首要长处在于快速完成报表,但是在数据合规、数据缓存、负载均衡、多引擎数据聚合等才能上显着弱于API方法。

3.4.2 API优化点举例阐明

性能平台数据提速之路

3.4.3 元数据查询协议阐明

// Schema 数据获取才能描绘
// 协议才能描绘:
// 1. 数据查询才能,多引擎/规范SQL查询才能封装「如:palo/mysql/clickhouse/es-sql等」Query结构。
// 2. 数据聚合才能,具有单关键字数据组合&Merge才能,假如Len(Schema.Query)>1:具有数据聚合才能. 
// 3. 数据缓存才能,两层级缓存才能封装,Cache结构。
type Schema struct {
  // 元数据查询才能描绘
  Query []Query `json:"query"`
  // 元数据全体缓存才能描绘
  Cache Cache `json:"cache"`
}
// Query 数据查询才能描绘
type Query struct {
  // 结构化查询描绘
  SQL string `json:"sql"`
  // 产品线信息, rpc_name = meta_{engine}_{prod}.toml, rpc通信具有超时操控、服务发现、高档负载均衡策略等稳定性提高才能
  Prod string `json:"prod"`
  // 存储引擎描绘, 调用不同引擎才能
  Engine string `json:"engine"`
  // 单次查询缓存才能描绘
  Cache Cache `json:"cache"`
}

3.5 数据自助化建造

3.5.1 布景介绍

经过近一年需求数据剖析,报表类需求占全体数据需求的50%,假如完成数据报表自助化,需求按照数仓分层,可达到数据消费侧的需求快速交给与报表时效性提高。

自助化方法与数据流有关,针对实时数据流选用内存方法构建宽表,准实时/离线选用磁盘宽表构建。

性能平台数据提速之路

3.5.2 实时化自助化(内存)

内存自助化中心逻辑包括:

  • 日志协议Schema的解析;功能渠道在事务方装备自助化使命之前,会选用离线使命天等级的将功能渠道触及到的UBC点位进行Schema的解析,即将UBC协议的Schema进行按层级大局打开,供事务方在界面上进行勾选。

  • 内存宽表的树立; 事务方在功能渠道上完成自助装备化使命时,勾选本身需求清洗的UBC点位日志经过平铺后的协议字段,经过功能渠道供应的通用函数解析(透传、时刻函数、网络函数等)以及功能渠道供应的自定义函数QLExpress进行原始协议的清洗,然后平铺成一张内存宽表。

  • 宽表数据聚合;事务方本身的需求往往有PV聚合、UV聚合、分位数聚合等一些常用目标的聚合核算,此时使用功能渠道供应的聚合模板挑选相应维度目标进行核算,构成终究的聚合成果目标。

  • UI装备、告警装备;事务方得到终究的聚合成果目标后,能够挑选聚合后的维度和目标构建UI,例如折线图,表格等。一起,也能够根据聚合后的目标装备阈值告警。终究,经过上述的流程,事务方自助化的完成了数据流的树立、UI报表的生成,告警的装备。

3.5.3 准实时&离线数据自助化(磁盘)

以Feed研制宽表举例阐明,经过数据分层强化数据层职责范围,每一层级数据量级显着减少,对用户侧成果数据报表提速显着。数据研制同学重视各层之间数据SLA与需求功能的满意;用户经过事务宽表、宽表阐明文档、报表自助化渠道完成报表自助化,来达到需求快速完成。

性能平台数据提速之路

04 未来展望

前文介绍了功能渠道在数据出产与数据消费端的提速手段与具体事例,所做的一些尽力。后面咱们还会持续优化体系,如:

  • 数据时效性可阐明,报表承诺时刻与报表实践产出时刻,各个阶段数据漏斗,达到时效性数据的沉积与可剖析。

  • 数据精确性可证明,在APP接入层与数据报表之间,经过结构预期Case与实践数据做比照,来判别体系数据精确性;

希望,功能渠道在数据安全合规的根底上快速赋能支撑事务开展。

——END——

引荐阅览:

采编式AIGC视频出产流程编列实践

百度工程师漫谈视频理解

百度工程师带你了解Module Federation

巧用Golang泛型,简化代码编写

Go言语DDD实战初级篇

Diffie-Hellman密钥协商算法探求