编者按: 6 月 24 日【Coder Park】第一季架构篇之大数据平台架构分享线上直播流动圆满结束。本期特邀 MobTech 袤博科技合伙人、首席数据官杨冠军担当出品人,阿里巴巴计算平台事业部大数据平台技术专家王道远和 MobTech 袤博科技大数据 PaaS 平台负责人大宗师两位嘉宾围绕“数据湖”和“PaaS 平台”等技术架构开展主题分享,Apache Spark 中国技术社区、掘金、开源中国、Segmentfault 思否、华为 HDG、麦思博、Python 中文社区、软件绿色联盟等社区联结宣发,Coder Park 旨在帮忙企业在简单的业务状态下,降级架构思维,撑持业务倒退。
以下是阿里巴巴计算平台事业部大数据平台技术专家王道远在本次流动中的分享内容:
主题 :云原生数据湖构建与剖析最佳实际
讲师: 王道远,阿里巴巴计算平台事业部 大数据平台技术专家
内容框架:
- 背景介绍
- 架构剖析
- 性能与老本
- 客户案例
一、背景介绍
大数据 4V 概念:
第一代云上开源大数据平台
- 数据快速增长时,存储老本高
- HDFS NameNode 横向扩大瓶颈
- HDFS Federation 运维复杂度比拟高
第二代云上开源大数据平台
- 引入 OSS
- 次要实现 HDFS 接口,体验个别
- 老本没有明显降低
第三代云上开源大数据平台
- 集中统一存储
- 数据分层存储
- 计算资源弹性伸缩
- 躲避 HDFS 运维复杂度
二、架构剖析
EMR 数据湖架构
数据湖计算 - 弹性伸缩
基于云的个性,取得资源的弹性
- 计算资源的弹性
- 存储资源的弹性
灵便的弹性集群
- 计算与存储拆散,只在须要的时候
- 才增加计算
- EMR 的动静计算组,依照集群状态
- 来进行伸缩
- Spot instance
- 包月 + 按量组合
弹性伸缩
- 依照工夫
- 依照负载
数据湖计算– 容器
- 反对支流引擎 Spark 和 Presto
- 计算与存储拆散架构
- Remote Shuffle Service 架构
数据湖存储– JindoFS
易用
- 反对次要开源计算框架,且对框架通明
- 无需批改用户对 OSS 的应用计划
- 多种缓存设施内存 /SSD/HDD
- 反对 FUSE 文件挂载
企业级
- 高数据可靠性,11 个 9
- 高可用架构,反对 Auto Failover
- 数据权限治理,Ranger 列级别权限治理
- Audit Log 审计
- 小文件剖析
高性能
- 比照社区风行计划,TPC-DS 1TB
- Spark SQL 2.4.5 性能晋升 27%
- PrestoSQL 0.338 性能晋升 93%
- Hive ETL 2.3.5 性能晋升 42%
参考网址:https://github.com/aliyun/ali…
数据湖元数据 Data Lake Formation
元数据管理
- 对立元数据管理,解决元数据多引擎一致性问题
- 主动生成元数据,升高应用老本
访问控制
- 集中数据拜访权限管制,多引擎对立集中式赋权
- 数据拜访日志审计,统计数据访问信息
数据入湖
- 反对多种数据源入湖,MySQL、SLS、OTS、Kafka 等
- 离线 / 实时入湖,反对 Delta/Hudi 等多种数据湖格局
- 数据入湖预处理,反对字段 mapping/ 转换 / 自定义 udf 操作
三、性能与老本
性能与老本– Remote Shuffle Service
- Shuffle 数据通过网络写出,两头数据计算与存储拆散架构
- DFS2 正本,打消 fetch failed 引起的重算,shuffle heavy 作业更加稳固
- Reduce 阶段程序读磁盘,防止现有版本的随机 IO,大幅晋升性能
性能与老本– 数据预计算
- Ad-hoc 场景
- 预计算 Cube
- 动静重写查问打算
- 秒级响应
性能与老本– 数据预组织
-
DataSkipping index
收集文件各列 minmax 信息,依据 filter 裁剪要读取的文件总数
-
Z-Order
多维综合排序,在多个字段晋升文件裁剪成果
性能与老本– 列存减速
- Native Engine 减速 I / O 效率
- Native 实现
- 高并发
- 施展 OSS 程度扩大能力
- 计算下推
性能与老本– 分层存储
四、客户案例
客户案例一:
客户简介
- 游戏行业
客户需要
- 数百节点 HDP,版本保护老本高,软件降级艰难
- 物理机弹性能力有余,须要云上的弹性能力和扩张能力
- 计算和存储绑定,硬件降级老本高
数据湖计划
- 采纳 OSS 代替 HDFS,作为企业对立数据湖,采纳分层存储升高用户应用老本
- 应用 EMR JindoFS 对接 Hive/Presto/Tez 计算引擎
- AI 模型训练采纳 Spark 弹性伸缩集群,弹性伸缩资源比率占集群算力的 90%
- Druid 采纳 JindoFS 做为 Deep Storage,实现
客户案例二:
客户简介
- 国内互联网金融头部客户
- 每个业务均采纳独立的集群模式
- AWS EMR 典型客户,依据部门和数据划分 20-30 集群,每天千台规模节点弹性伸缩
客户需要
- 用户服务了大量外部和内部用户,且数据较为敏感,要求严格的数据权限隔离
- 大量 OSS 的 rename 等操作,性能要求高
- 依据工作主动大规模弹性扩缩容
客户价值
- 通过 JindoFS 满足了用户的数据计算性能需求,尤其是局部操作场景上,在无限带宽的状况下和 S3 的性能体现统一
- EMR Ranger 对数据湖数据权限严格管控
- 企业能力如资源组等的反对,帮助进行负责的资源隔离能力