2022云栖精选—AnalyticDB MySQL 湖仓版在B站的最佳实践

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 陈浩哔哩哔哩Bilibili资深数据开发专家

lQLPJxbcF2cqNBvMiM0FeLCMz4ifcSGHeANpqgFLAEAA_1400_136.png

一、公司及业务介绍

image.png

猫耳FM是哔哩哔哩旗下专注于二次元ACG音频赛道的一款APP应用,对标喜马拉雅、网易云音乐、荔枝FM。平台内容包括中日广播剧、有声漫画、有声小说、电台、声优直播、配音活动等二次元及泛二次元音频内容。

其主要业务是与相关作品版权方合作,将国内市场火热的IP制作成广播剧、火山漫画等音频形式,最后由用户在平台上进行付费收听,完成商业闭环。

image.png

目前,该平台每月数据增长量将近8TB。平台通过数据为产品及运营决策提供支持。例如,运营部门需要客户活跃、留存率、 APP停留时长、付费转化率等指标指导日常运营决策;财务部门需要月度、年度的周期性支出及营收情况,用于对账、审计;产品部门则需要数据进行A/B测试,评估不同产品方案效果。

其次,搭建推荐系统需要基于用户的搜索、点击、收听、付费等行为构建用户画像,并向用户推荐广播剧、主播等。

最后,在业务运行过程中还会经常会遇到一些用户恶意行为,需要进行风控拦截,比如IOS用户充值退款问题,账号出租共享行为以及活动期间的刷榜行为等。

直接在业务路上进行分析会导致业务库CPU飙升,影响业务,造成请求响应超时,页面加载不出来等问题。

随着数据量的增长、报表需求的增多,直接在业务路上进行聚合分析的方式已经行不通,需要搭建专门的OA系统作为技术支撑。


二、历史架构及挑战

image.png

2018 年,该平台搭建了离线数仓,并使用该数仓进行实时在线分析。但由于是首次构建,技术能力有限,该数仓处于摸索阶段,暂时解决了短期爆款输出的问题。

该历史架构存在的问题比较明显,一是分析时效性差,部分离线ETL任务无法在T+1内运行完成,依赖这些任务的下游节点报表产出也发生滞后。另外一些日志数据导入到离线数仓的过程中,数据的拷贝超过24小时。

另外资源无弹性。凌晨时段是任务运行高峰期,但由于机器人数量固定,大量任务推进等待程序调动,CPU处于满负荷运行状态,任务无法及时运行完成。统计用户年度收听报告期间,统计用户最长收音时段数据的任务运行超过24小时,产品验收测试进度滞后。

最后运维成本高。服务故障时,需要进行数据排查报重并进行修复。其维护过程中数据开发及BI系统中断需要一个小时以上,遇到比较异常的主线问题时,系统不可用往往会持续一天以上的时间。


三、湖仓版架构及优势

image.png

将离线数仓迁移到ADB湖仓版主要基于以下几个优势。

首先,ADB湖仓版可以根据任务繁忙程度对资源进行弹性伸缩。离线ETL任务主要发生在0点到5点,这段时间资源需求高,资源弹性可以使资源更充足,避免任务因为等待资源而大量堆积。另外进行临时的修复数据时,根据资源需求进行弹性伸缩,及时释放资源,降低使用成本。

另外,测试分析、收益统计,需要实时反映最新的收益情况。但由于合作方的分成模式比较复杂,会有按固定比例分成按订单量梯度分成按时间梯度分成。使用离线数仓处理达不到实时要求,在线分析性能存在统计的瓶颈。

ADB通过DTS数据传输服务,数据入仓后可以实现一份数据同时在线分析和离线处理的需求,订单数据可以实现毫秒级增删改,面对查询时能在数秒内完成响应,极大提高时效性。

最后,ADB可根据数据扫描量自动优化执行模式,智能选择执行模式,加速任务的运行。

image.png

ADB时效性高,可用于在线特性。猫耳FM业务中,除收益统计后台需要实时分析反映最新的交易情况,在广播剧的打赏主板中也用到了这一特性。

在广播剧打赏主板,基于ADB应对复杂查询的特性,榜单的更新周期从小时级别提高到秒级,提高客户参与积极性,提升用户的停留时长及付费转化率。

另外,在直播业务中,平台可以对中奖概率进行实时监控。如果中奖的概率超出预设值,运营可以及时收到报警的通知,进行调整或下架,控制成本收益。

这一特性也用于监测活动期间的刷榜行为,直播间管理人员可以及时予以处置,避免榜单排名的异常变动。

lQLPJxbcF2cqM2TM-M0CnrCgW_7LDpyh1wNpqgFKAPsA_670_248.png

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
实时数仓 Hologres操作报错合集之Flink CTAS Source(Mysql) 表字段从可空改为非空的原因是什么
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
2月前
|
存储 SQL 人工智能
AnalyticDB for MySQL:AI时代实时数据分析的最佳选择
阿里云云原生数据仓库AnalyticDB MySQL(ADB-M)与被OpenAI收购的实时分析数据库Rockset对比,两者在架构设计上有诸多相似点,例如存算分离、实时写入等,但ADB-M在多个方面展现出了更为成熟和先进的特性。ADB-M支持更丰富的弹性能力、强一致实时数据读写、全面的索引类型、高吞吐写入、完备的DML和Online DDL操作、智能的数据生命周期管理。在向量检索与分析上,ADB-M提供更高检索精度。ADB-M设计原理包括分布式表、基于Raft协议的同步层、支持DML和DDL的引擎层、高性能低成本的持久化层,这些共同确保了ADB-M在AI时代作为实时数据仓库的高性能与高性价比
|
4月前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库AnalyticDB产品使用合集之如何修改云ADB MySQL版的默认LIMIT
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
86 21
|
4月前
|
Cloud Native 关系型数据库 MySQL
《阿里云产品四月刊》—云原生数据仓库 AnalyticDB MySQL 版 新功能
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
4月前
|
Cloud Native 关系型数据库 MySQL
云原生数据仓库AnalyticDB产品使用合集之是否支持mysql_fdw 和clickhousedb_fdw外部数据包装器
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
134 4
|
24天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
26天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
194 11
|
1天前
|
SQL 关系型数据库 MySQL
|
21天前
|
存储 SQL 关系型数据库
MySQL的安装&数据库的简单操作
本文介绍了数据库的基本概念及MySQL的安装配置。首先解释了数据库、数据库管理系统和SQL的概念,接着详细描述了MySQL的安装步骤及其全局配置文件my.ini的调整方法。文章还介绍了如何启动MySQL服务,包括配置环境变量和使用命令行的方法。最后,详细说明了数据库的各种操作,如创建、选择和删除数据库的SQL语句,并提供了实际操作示例。
60 13
MySQL的安装&数据库的简单操作
|
27天前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
128 14
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案

热门文章

最新文章

相关产品

  • 云原生数据仓库AnalyticDB MySQL版