阿里网盘优质资源分享 阿里云管理控制台( 二 )


  • 如何构建数据的统一管理视图:面向多种数据源需要有一套统一的数据管理模型,比如通过JDBC连接数据库、通过云账号授权管理对象存储文件、一套Serde管理处理不同的数据格式处理方式等 。
  • 如何构建多租户的权限管理:如果全域数据都使用数据湖方案管理,企业多部门研发人员共同使用数据湖挖掘价值,但是缺少有效的数据租户及权限隔离,会产生数据风险;
  • 如何自动化的构建元数据:通过ETL模式的数据集成工具写入数据湖存储时,对应工具知道数据Schema可以主动建元数据,这样就需要元数据服务有完善的开放接口 。但是在某些场景数据文件直接上传到OSS存储,且文件量巨大、数据动态增长变化;这种情况需要有一套被动推断提取元数据的服务,做到Schema感知以及增量识别 。
  • 如何提供面向分析的优化能力:比如海量分区的高效加载等 。
针对这些问题业界在做了大量的探索和实践:
  • Hive Metastore:在Hadoop生态为了构建统一的管理视图,用户会在自己的Hadoop集群搭建HMS服务 。
  • AWS Glue Meta:提供多租户的统一数据湖元数据管理服务,配套Serverless的元数据爬取技术生成元数据 。相关功能收费 。
  • Aliyun DLA Meta: Meta兼容Hive Metastore,支持云上15+种数据数据源(OSS、HDFS、DB、DW)的统一视图,提供开放的元数据访问服务,引入多租户、元数据发现、对接HUDI等能力 。DLA Meta追求边际成本为0,免费提供使用 。下面也将重点介绍DLA Meta的相关技术实现 。
二、云原生数据湖的元数据管理架构为了解决上面这些挑战,阿里云云原生数据湖分析服务DLA的元数据管理,支持统一的多租户元数据管理视图;数据模型兼容Hive Metastore;提供阿里云OpenAPI、Client、JDBC三种开放模式;同时提供元数据自动发现服务一键异步构建元数据 。下面是各个模块的介绍:

阿里网盘优质资源分享 阿里云管理控制台


  • 统一元数据视图:支持15+中数据源,OSS、HDFS、DB、DW等;并兼容Hive Metastore的数据模型,比如Schema、View、UDF、Table、Partition、Serde等,友好对接Spark、Hadoop、Hudi等生态;
  • 丰富的开放模式:支持阿里云OpenAPi、Client、JDBC三种接口开放模式,方便生态工具及业务集成DLA Meta,比如可以开发Sqoop元数据插件对接OpenAPI,同步数据时构建元数据;目前开源Apache Hudi支持通过JDBC方式对接DLA Meta;DLA内置的Serverless Spark、Presto、Hudi支持通过Client模式对接DLA Meta;
  • 支持多租户及权限控制:基于UID的多租户机制进行权限的隔离,通过GRANT&REVOKE进行账号间的权限管理 。
  • 支持水平扩展:为了满足海量元数据的管理,服务本身是可以水平扩展,同时底层使用RDS&PolarDB的库表拆分技术,支持存储的扩展 。
  • 元数据发现服务:当数据入湖时没有关联元数据,可以通过元数据发现服务一键自动关联元数据 。
【阿里网盘优质资源分享 阿里云管理控制台】可以看出在对接多种数据源以及数据集成方式方面提供了友好的开放性,目前Apache Hudi原生对接了DLA Meta;在分析生态方面支持业界通用的数据模型标准(Hive Metastore);同时服务本身具备多租户、可扩展的能力满足企业级的需求 。
三、元数据管理核心技术解析下面主要介绍DLA Meta关于元数据多租户、元数据发现、海量分区管理三方面的技术实践,这几块也是目前业界核心关注和探索的问题 。
1、元数据多租户管理
在大数据体系中,使用Hive MetaStore (下面简称HMS)作为元数据服务是非常普遍的使用方法 。DLA 作为多租户的产品,其中一个比较重要的功能就是需要对不同用户的元数据进行隔离,而且需要拥有完整的权限体系;HMS 本身是不支持多租户和权限体系 。阿里云DLA 重写了一套Meta 服务,其核心目标是兼容 HMS、支持多租户、支持完整的权限体系、同时支持存储各种数据源的元数据 。

推荐阅读