云上大数据的存储方案设计和选择

云上大数据的存储方案设计和选择

姚舜扬,花名辰山,阿里巴巴计算平台事业部 EMR 高级开发工程师,目前从事大数据存储方面的开发和优化工作;

苏昆辉,花名抚月,阿里巴巴计算平台事业部 EMR 高级工程师, 曾就职于华为、网易. Apache HDFS committer. 对Hadoop、HBase等有深入研究, 对分布式存储、高性能优化有丰富经验. 目前从事大数据云化相关工作.

议题简介:
上云拐点已来,开源大数据上云是业界共识。如何满足在云上低成本存储海量数据的同时又实现高效率弹性计算的潜在需求?放眼业界,都有哪些成熟存储方案和选择?各自适用的存储和计算场景是什么?背后的技术关键和考虑因素都有哪些?欢迎大数据技术爱好者面对面交流和探讨!

展开查看详情

1.云上大数据的存储方案设计和选择 辰山 扶月

2.云上大数据趋势

3. 大数据历史 开源产品 学术Paper Map GFS BigTable Dremel FlumeJava MillWheel Tensorflow Reduce 云上产品 MaxCompute E-Mapreduce 实时计算 PAI平台 2002 2004 2005 2006 2008 2012 2014 2016

4.Hadoop生态上云的优势 • 按需节约成本,动态伸缩 • 更好地管控 硬件 & 软件 • 很少的代码改动 • 灵活的配置 • 扩大HDFS数据的使用范围

5.什么是 存储计算分离

6.数据库系统变革 Shared Everything Shared Nothing Shared Everything Oracle RAC Oceanbase PolarDB

7.大数据领域 Apache Hadoop (2006) is a collection of open-source software utilities that facilitate using a network of many computers to solve problems involving massive amounts of data and computation. It provides a software framework for distributed storage and processing of big data using the MapReduce programming model. Originally designed for computer clusters built from commodity hardware—still the common use—it has also found use on clusters of higher-end hardware. 数据本地化被过分“夸大”

8. 数据湖 应用 无状态 • 所有数据在一个地方 • 结构化、半结构化、非结构化的数据 机器学习 • 支持快速的数据接入和消费 • schema-on-read • 低成本 • 计算存储分离 数据处理 • 安全、权限 流式数据 Catalog 事件 数据湖 日志 传感器数据 OSS 社交 事务Binlog

9.云上存储 文件存储 高IOPS ECS 高性能 (EFS) 高吞吐 低延迟 块存储 低延迟 NFS挂载 (EBS云盘) 挂载到ECS 可扩展 对象存储 海量存储 (OSS / S3) 高可用 低成本

10. HDFS 到 OSS • 使用OSS对象存储作为数据湖 • 存储计算分离 Put Object Get Object List Objects Read after Write

11.存储计算分离架构下的缓存方案

12.存储计算分离

13. 存储计算分离 - 海量 - 安全 - 低成本 - 高可靠 + Cloud Storage - 文件移动较慢 - 列式存储 数据访问 Hadoop / Spark open source ecology - 带宽限制 元数据访问 - 高频访问

14.存储计算分离 特点 对象存储 HDFS 存储空间 海量 取决于集群规模 可靠性 高 高 吞吐率因素 服务端限制 集群内磁盘 元数据效率 慢 快 扩容操作 容易 容易 缩容操作 容易 需 Decommission 数据本地化 无 强

15.存储计算分离 计算集群 跨区访问 存储集群 Cloud Storage Hadoop / Spark open source ecology 带宽限制

16.数据缓存 计算集群 Cloud Storage Hadoop / Spark open source ecology 本地存储 存储集群

17.数据缓存 计算组件原生支持 存储层面实现独立的 分布式缓存系统 - Spark caching - Alluxio • 可以 Cache 任意 RDD - DBIO • 生命周期为 RDD 的生命周期,无法做到跨 - EMR JinodFS session 使用 • 显式指定需要 Cache 的 RDD,以及显式释 放 unpersist() 缓存全局生效 使用方式依赖于具体组件 基于策略实现自动的缓存管理 使用范围相当局部 使用上需人为干预,自动化程度低

18.元数据缓存 计算集群 • Alluxio: RocksDB 缓存系统 • AWS EmrFS: DynamoDB 外部存储系统 元数据缓存 • EMR JindoFS:RocksDB / TableStore 元数据存储形式 RocksDB 云上外部表 存储系统

19.元数据缓存 读操作 解决的问题 存在的问题 同步策略 元数据缓存 外部存储系统 提升读操作性: 元数据同步 listStatus、 getFileStatus 等 无法解决写操 作性能问题: 写操作 特别对于大量 例如对象存储 文件读操作提 rename 等耗 升显著 时操作 元数据缓存 外部存储系统

20. 一种新的尝试—— JindoFS Block 模式 • 数据切分成 Block 的形式 持久化在后端对象存储上 元数据服务 • 本地存储缓存数据块实现 File A Table Store 加速效果 • 本地元数据服务管理文件 系统元数据,元数据操作 数据缓存 无需操作后端对象存储 OSS Block 1 Block 2 Block 1 Block 2 • 云原生方案,所有持久化 Block 3 Block 4 Block 3 Block 4 数据不依赖于本地集群, 集群可随时释放重建

21.