搜狐智能媒体数据仓库体系建设实践
本次分享的主题为搜狐智能媒体数据仓库体系建设实践 , 会对数据仓库中的基本概念进行简单梳理 , 明确数据仓库体系建设涵盖的相关流程 , 主要划分为批量 ( 非实时 ) 数据处理和实时数据处理两大部分:
批量数据处理:根据不同的业务需求场景 , 需要对数据进行分层 , 上层数据基于底层数据通过aggregation、join等计算生成 , 上层数据生产任务依赖于底层数据产生任务 , 任务调度管理成为批量数据处理的一个核心功能诉求 , 以及由此衍生出的数据血缘管理、数据质量管理、数据权限管理等等一系列功能 , 这方面也有不少开源的产品 , 但在设计上或多或少都存在一些问题 , 本次演讲会介绍搜狐智能媒体团队自研的任务调度管理、元信息管理、数据质量管理、数据权限管理等系统的技术实践;
实时数据处理:目前业界的焦点都在stream processing系统上 , 但针对很多aggregation、join等应用场景 , stream processing并不能很好的胜任 , 能够支持数据实时导和MPP查询引擎的系统--比如Apache Doris , 才能很好地满足这些应用场景 , 本次演讲会介绍Apache Doris在搜狐智能媒体的一些技术实践 。
01
数据仓库体系建设主要工作
1. 数据仓库定义文章插图
数据仓库是1991年Bill Inmon在《Building the Data Warehouse》中最开始提出的概念 。 数据仓库的定义是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合 , 用于支持管理决策 。 从定义中 , 可以看出数据仓库不仅仅是一个数据存储计算软件或产品 , 而是包含整个数据分析处理过程体系 。
2. 数据分析文章插图
数据仓库主要是供给数据数据分析使用的 , 其分类主要参考商业智能分为三大部分:
- Data Reporting:分析维度较少 , 延迟较低 , 并发度较高
- OLAP:分析维度、延迟和并发度都比较适中
- Data Mining:分析维度可能几百上千 , 维度较多 , 对于延迟的容忍度较高 , 一般用户较少 , 并发度较低
![搜狐智能媒体数据仓库体系建设实践](http://res.youth.cn/img-detail/0e36c168632eb564ec37f82914c509f8:640:359.jpg)
OLAP是数据仓库中最经常使用数据处理和分析技术 , 是Edgar F.Codd在1993年发表于《Providing OLAP(On-line Analytical Processing) to User-Analysts:An IT Mandate 》论文中 。 OLAP主要是针对OLTP对比来说的:
- OLTP:支持业务处理 , 操作数据或者业务数据 , 不适合支持决策分析
- OLAP:支持决策分析、多维分析/多维数据库
4. 多维模型 ( Multidimensional Model)
![搜狐智能媒体数据仓库体系建设实践](http://res.youth.cn/img-detail/f7a8a659f012fc40ff52784e3b0a9579:640:360.jpg)
前面提到的多维分析是建立在多维模型之上的:
- 多维模型就是OLAP中的数据组织范型
- 主要概念:多维数据集 ( Cube );维度 ( Dimension );维度层次 ( Hierarchy );维度级别 ( Level );维度成员 ( Member );度量/指标 ( Measure )
- 多维分析操作:上卷 ( Roll-up );下钻 ( Drill-down );切片 ( Silce );切块 ( Dice );旋转 ( Pivot )
① 上卷
![搜狐智能媒体数据仓库体系建设实践](http://res.youth.cn/img-detail/9918127986188e78a403cfb98d15c167:640:360.jpg)
虽然多维分析都是对立方体的操作 , 但是可以映射到关系模型的sql语句上来;上卷就是通过group by把一些多的维度去掉 。
② 下钻
![搜狐智能媒体数据仓库体系建设实践](http://res.youth.cn/img-detail/02c424c5cdd1d89489ddeb1267cd0269:640:359.jpg)
下钻操作 , 对应到关系模型的sql语句就是对一些低层次维度进行group by 。
③ 切片
![搜狐智能媒体数据仓库体系建设实践](http://res.youth.cn/img-detail/201f2d45244f1b9a95c2b487de504cb5:640:359.jpg)
切片操作 , 对应到关系模型的sql语句就是增加一个where条件 。
④ 切块
![搜狐智能媒体数据仓库体系建设实践](http://res.youth.cn/img-detail/a14c5f995f74e1f71cfc23a64b918381:640:360.jpg)
切块操作 , 对应到关系模型的sql语句就是增加两个where条件 。
⑤ 旋转
![搜狐智能媒体数据仓库体系建设实践](http://res.youth.cn/img-detail/8c6524dd42a2d4a1637b1d858215dafd:640:359.jpg)
旋转操作 , 对应到关系模型的sql语句就是select时 , 把列的顺序重新编排一下 。
6. OLAP Cube构建
![搜狐智能媒体数据仓库体系建设实践](http://res.youth.cn/img-detail/30d823ec1f35a270d4c3837e9e454b4e:640:360.jpg)
Cube构建主要包含两类:
- 智能手机市场|华为再拿第一!27%的份额领跑全行业,苹果8%排在第四名!
- 美国|英国媒体惊叹:165个国家采用北斗将GPS替代,连美国也不例外?
- 痛点|首个OTA智能社区诞生 解决行业四大痛点
- 峰会|这场峰会厉害了!政府企业专家媒体共议网络内容生态治理
- 先别|用了周冬雨的照片,我会成为下一个被告?自媒体创作者先别自乱阵脚
- 黑莓(BB.US)盘前涨逾32%,将与亚马逊开发智能汽车数据平台|美股异动 | US
- 出海|出海日报丨短视频生产服务商小影科技完成近4亿元 C 轮融资;华为成为俄罗斯在线出售智能手机的第一品牌
- QuestMobile|QuestMobile:百度智能小程序月人均使用个数达9.6个
- 定制|业绩宝APP创始人戴宏伟:依靠人工智能主动获客,打通全链路
- 优化|微软亚洲研究院发布开源平台“群策 MARO” 用于多智能体资源调度优化