您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[DataFunSummit2023:数据湖架构峰会]:数据湖统一元数据和存储管理 - 发现报告
当前位置:首页/行业研究/报告详情/

数据湖统一元数据和存储管理

AI智能总结
查看更多
数据湖统一元数据和存储管理

—2023— 数据湖统一元数据和存储管理 演讲人:范佚伦—阿里云 云上数据湖架构数据湖统一元数据 数据湖管理与存储优化 数据湖格式管理与优化 云上数据湖架构 什么是数据湖 Adatalakeisasystemorrepositoryofdatastoredinitsnatural/rawformat,usuallyobjectblobsorfiles.Adatalakeisusuallyasinglestoreofallenterprisedataincludingrawcopiesofsourcesystemdataandtransformeddatausedfortaskssuchasreporting,visualization,advancedanalyticsandmachinelearning.Adatalakecanincludestructureddatafromrelationaldatabases(rowsandcolumns),semi-structureddata(CSV,logs,XML,JSON),unstructureddata(emails,documents,PDFs)andbinarydata(images,audio,video). Adatalakeisacentralizedrepositorythatallowsyoutostoreallyourstructuredandunstructureddataatanyscale.Youcanstoreyourdataas-is,withouthavingtofirststructurethedata,andrundifferenttypesofanalytics—fromdashboardsandvisualizationstobigdataprocessing,real-timeanalytics,andmachinelearningtoguidebetterdecisions. AzureDataLakeincludesallthecapabilitiesrequiredtomakeiteasyfordevelopers,datascientists,andanalyststostoredataofanysize,shape,andspeed,anddoalltypesofprocessingandanalyticsacrossplatformsandlanguages. 数据湖是统一存储池,可对接多种数据输入方式,您可以存储任意规模的结构化、半结构化、非结构化数据。数据湖可无缝对接多种计算分析平台,直接进行数据处理与分析,打破孤岛,洞察业务价值。同时,数据湖提供冷热分层转换能力,覆盖数据全生命周期。 相比于传统数仓内置存储,数据湖通过存算分离实现统一存储 •统一的存储,解决数据孤岛问题 •灵活性强,存算分离,开放的数据,多种引擎分析 相比于传统数仓事前建模,数据湖可以保存原始数据 •事后建模 •云上大规模、高可用、低成本的中心化存储 •数据类型丰富,支持结构化、半结构化、非结构化数据类型 •存储原始数据,避免数据丢失 相比于传统数仓,数据湖缺乏数据治理、性能 •安全,权限 •事务性 •数据质量 •性能 数据湖逐渐支持数仓能力,实现湖仓一体 元数据统一与数据湖管理 •统一元数据层查询和定位数据 •开放的数据格式支持多引擎直接读取 •统一的元数据/SQLAPI •统一权限提供企业级数据管理和安全的能力 数据湖查询优化 •数据缓存加速 •数据索引加速 利用数据湖格式实现事务层 •支持ACID事务隔离,解决读写冲突 •支持多版本时间旅行,指明每个Table版本所包含的数据对象 •同时支持流批混合读写 • 统一的数据湖存储层 •利用云上对象存储 •存储原始数据,支持半结构化和非结构化数据 阿里云数据湖架构 支持多引擎计算分析 •E-MapReduce(Hive/Spark/Presto/Impala/Starrocks) •MaxCompute、Flink、Hologres 通过DLF进行数据湖管理优化 •统一元数据管理,支持跨引擎分析 •统一权限管理 •搭配JindoCache数据湖缓存加速 •数据湖存储管理和自动冷热分层 使用OSS作为数据湖存储 •低成本,高可靠性,无限扩展,高吞吐,免运维 •开启OSS-HDFS,支持POSIX,高性能rename/list •通过冷归档降低成本 阿里云DLF(DataLakeFormation)简介 统一元数据服务 存算分离架构下,提供全托管的有状态服务 高可用、高性能、可扩展、免运维 兼容开源HMS协议,无缝对接开源/自研引擎 总量支持超过10万DB,1亿Table,10亿Partition 权限与安全 支持按库/表/列对湖内数据进行权限配置 支持数据访问日志审计 数据管理与优化 存储分析与成本优化 湖表数据分布与索引加速 数据生命周期管理 数据湖统一元数据 开源元数据体系 开源引擎及组件 Thrift协议 HiveMetastore HiveMetastore Jdbc协议 DB Hive是开源数仓的事实标准 •各个引擎逐渐形成了围绕着HiveMetastore的元数据体系 HiveMetastore管理元数据流程 •大数据引擎通过HiveMetastoreclient,使用thrift连接到HiveMetastore •Metastore接收请求,通过HMSHandler处理对应操作 •最终元数据读写通过DataNucleus框架连接到外部数据库 •HiveMetastore本身无状态,可以部署多个 使用RDBMS存储元数据 •大部分使用MySQL为主 •多张表存储元数据信息,如DBS,TBLS,PARTITIONS,SDS 开源元数据体系的问题和挑战 高级特性支持有限 •不能通过Time-Travel查询数据/元数据的历史快照 •ACID特性和Hive引擎绑定 不易于对接内部自研引擎/云上数仓 •HiveMetastore额外部署运维,单点问题,需要网络直连 •引擎需要实现Thrift协议接入 受限于单个数据库瓶颈 •单个MySQL数据量瓶颈 •高可用问题 HiveMetastore的具体问题举例 •com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communicationslinkfailure •MySQL慢SQL,分区总量大时常见 •MySQL连接数问题 •java.lang.OutOfMemoryError:Javaheapspace/FGC频繁 •Listpartitions等操作会读取全部分区 •Metastore自身缓存占用 •java.lang.StackOverflowError •常见于droppartition分区数量多 •java.net.SocketTimeoutException:Readtimedout •大量分区操作可能会出现 阿里云DLF统一元数据架构 Spark Presto StarRocks Impala Flink HiveServer E-MapReduce MaxComputeHologres Flink DLFMetastoreClient(兼容HMS) 数据湖存储 DLFOpenAPI 统一元数据服务 (DLF)认证 RAM鉴权 对象存储 元数据管理 权限管理 文件存储 Catalog Database ACL RBAC Function Table PBAC TBAC 数据湖格式 阿里云表格存储 统一元数据,多引擎支持 •SDK兼容HMS协议,无缝对接开源与自研计算引擎 •标准OpenAPI,支持客户自建集群及系统集成 全托管增强型元数据服务 •高可用、高性能、可扩展、免运维 •支持多Catalog多租户 •Schema多版本 •Table/PartitionColumnStatistic统计 统一权限控制 •一套配置,多引擎统一管控 •支持RAM和LDAP账号体系 元数据实时检索 •实时消费元数据变更,写入ES进行全文检索 阿里云DLF统一元数据特性与优化 兼容HiveMetastore行为 •DLF客户端实现了IMetaStoreClient接口,直接对接Hive生态引擎 16 •每个元数据操作内部行为与HiveMetastore保持一致 14 300w分区表listPartitionsByFilter耗时(秒) 14.1 5.2 5.4 5.6 2.6 0.5 12 客户端性能优化10 •并发读取,异常重试,分页查询8 •合并重复sd对象,减少IO开销6 4 服务端性能优化 •底层基于阿里云表格存储,高扩展性,高并发性 •分区值自动索引 •支持异步DropCatalog/Database 2 0 分区全部命中 仅一级分区命中 DLF元数据HiveMeta+MySQL 超大表的元数据操作性能和 稳定性优于HMS+MySQL 一级分区范围查询 阿里云DLF统一元数据特性与优化 元数据多版本 元数据审计 元数据检索 开源元数据权限体系 LDAP/AD Unix RangerUserSync WebUIRestAPI Crud RangerAdminStorePolicy DB PullPolicy RangerPlugins HivePlugin HDFSPlugin SparkPlugin ...Plugin HiveAuthorization •Storage-BasedAuthorization •元数据操作权限映射到底层文件的权限 •不支持细粒度鉴权 •SQL-StandardBasedAuthorization •支持GRANT/REVOKE,对库、表鉴权 •依赖HiveServer2 ApacheRanger •中心化的权限控制方案,支持很多Hadoop生态组件,支持PBAC •官方没有提供SparkSQL权限插件 •元数据接口与权限接口分离 •数据湖格式不兼容 阿里云DLF统一权限鉴权流程 E-MapReduce DLF控制台 LDAP SparkThriftServer 元数据管理 权限授权 SQL权限拦截 (代理用户) 获取元数据 DLF统一元数据 元数据服务 鉴权 权限服务 用户自定义权限开关 •Catalog级别权限设置 多种鉴权方式 •通过API/SDK/控制台访问元数据鉴权 •计算引擎通过代理用户的方式进行SQL鉴权 细粒度权限控制 •授权主体可以是RAM用户或自定义角色 •授权资源包括Database、Table、Column、Function •访问资源方式包括Describe、Alter、Drop、Select、Update等 以Spark为例 元数据迁移 Spark Presto Impala HiveServer …… 计算引擎 DLF元数据迁移 HiveMetastore 全量迁入 全量迁出 DLF统一元数据 MySQL 产品化元数据迁入功能 •页面配置一键迁移,兼容Hive2/Hive3 •自动处理网络打通 •免运维迁移任务集群和资源 支持全量元数据迁入 •全量迁移,支持MySQL、AWSGlue迁入 •提供元数据比对工具,用于校验两边数据差异 •可以多次运行重跑 支持全量元数据迁出 •提供元数据迁出工具,百万级元数据快速导出 •支持迁出到MySQL、OSS 元数据抽取 元数据抽取任务 格式推断 全量模式 oss://my-bucket/ 快速模式 (采样) 分区识别 my-table/ my-table2/ 对象存储 dt=20220101/ dt=20220102/ 自动发现数据湖文件schema •人工维护的csv文件 •导入的数据集文件 •…… DLF统一元数据TableSchema 

你可能感兴趣

hot

高性能 Kubernetes 元数据存储 KubeBrain 的设计思路和落地效果-许辰

电子设备
ArchSummit北京2022|全球架构师峰会2022-11-02
hot

9-4 海量物联网设备元数据存储引擎选型和演进

信息技术
DataFunSummit2022:大数据存储架构峰会2022-07-19
hot

云原生数据湖存储的架构发展和数据治理-程力

信息技术
ArchSummit上海2023|全球架构师峰会2023-06-06