1、火山引擎 LAS 数据湖存储内核揭秘耿筱喻 火山引擎 LAS 研发工程师01LAS 介绍02问题与挑战03LAS 数据湖服务化设计与实践04未来规划目录 CONTENTLAS 介绍01LAS(Lakehouse Analysis Service)湖仓分析引擎湖仓开发工具SparkPrestoFlink批流一体SQL统一元数据统一目录权限管控元数据发现湖仓存储内置存储其他数据源TOSRDSEMRMQ分布式文件存储批流一体存储引擎弹性资源VKE/VCI湖仓存储湖仓分析引擎队列管理数据管理查询分析作业管理权限管理生态连接湖仓分析平台LAS 核心优势 存算分离&极致弹性LAS服务对象存储数据存储在对象
2、存储,支持免搬迁多引擎分析统一数据管理,降低运维难度一份数据多引擎共享自动弹性伸缩MaxMin浪费浪费1:003:005:007:009:00实际消耗支持开通独享队列,通过 min/Max控制最小资源保障和最大弹性上限支持定时扩缩容支持根据业务负载自动扩缩容存算一体存算分离TCO下降530%存算分离架构,计算存储按需灵活扩展,避免资源浪费成本更优基于 LAS 构建企业级实时湖仓基于 LAS 的架构 LAS 批流一体存储 一份存储同时支持流式增量读写及批量读写 支持实时高效 OLAP 查询 支持高效维表 Join(敬请期待)批流一体 SQL 一套 SQL 同时支持流式执行用于实时构建及批式执行用
3、于离线回溯(敬请期待)一套 SQL 同时支持数据构建与数据分析问题与挑战02LAS 数据湖落地挑战存在数据孤岛数据可靠性非强保障实时入湖稳定性差用户理解成本高基于 Apache Hudi 构建=统一的元数据服务=表操作管理服务LAS 数据湖服务化设计与实践03LAS 服务化设计与实践服务化要求云原生架构支持多租户隔离高可用LAS 服务化设计与实践LAS 服务化设计与实践元数据管理服务 Hudi MetaServer表管理服务 Table Management ServiceHudi MetaServer提供统一的元数据视图强一致性保障高可扩展Hudi MetaServerTableSchema
4、,properties,location,format,table type,etc.PartitionLocation,parametersTimelineInstant:timestamp,action type,stateInstant meta:touched partitions,files;statistics like updated/inserted rowsSnapshotfile name,size;timestamp the file first createdStorageHudi MetaServerServiceHudi MetaServer读写交互写入Hudi M
5、etaServer读写交互读取Hudi MetaServerConcurrency Management基于乐观锁底层存储支持 CAS元数据引入 version(版本)的概念多种并发冲突策略Hudi MetaServerConcurrency ManagementHudi MetaServerConcurrency ManagementHudi MetaServerConcurrency ManagementTimeline 由持有一个确定 version Id 的 completed instant 构成Action 提交成功需要满足state 为 completed存在 version i
6、d 与之对应Version id 递增并且 CAS 更新基于 version 的 timeline 一致性保证Hudi MetaServerConcurrency Management基于表级别的,一张表不能同时有两个 instant 提交基于分区级别的,两个 instant 不能同时写入同一个分区基于 filegroup 级别的,两个 instant 不能同时写入同一个 filegroup基于文件级别的,两个 instant 不能同时写同一个文件多种冲突检查策略Hudi M