当前位置: 首页 > 科技观察

再也不用敲SQLDDL了!Google在数据湖时代的自动元数据管理技术

时间:2023-03-13 22:29:50 科技观察

1.阅读目的目前无论是数据仓库,Lakehouse,还是数据湖,在开放的数据湖中对数据的分析被视为当前能力的突破点.之前看过论文《Datalakemanagement:Challengesandopportunities》,主要分析了数据湖管理领域的趋势和挑战。提到Google的Goods在元数据管理方面做了很好的行业实践。二、要解决的核心问题(场景/技术)1、Goods在Google元数据体系中的位置从Googlebigquery的相关资料可以看出,Google有一个统一的数据目录,Goods可以理解为就是基于这个数据目录的基础服务。完整的数据湖场景元数据管理能力。另外,Google还有一篇论文《BigMetadata:WhenMetadataisBigData》,讲的是大规模表中元数据和统计信息管理的创新。它也是基于数据目录的工作。本文的分析可以参考这篇公众号的《DeltaLake&Hudi很火!Google是Lakehouse的老大》一文。2、Goods的场景定位面向数据湖场景,避免数据孤岛。需要对数据进行统一管理,而实现统一管理的方式就是对元数据进行统一管理。Goods的定位不仅仅是提供统一的元数据服务,而是在元数据服务之上解决元数据的上下游处理,支持用户从海量数据中高效找到自己需要的数据集。核心技术难点在于精准发现、大规模存储、提供元数据查询能力。之所以产生很多数据集,是为了快速利用数据来驱动自己的竞争优势,但是在存储数据的时候没有统一的元数据管理,元数据管理只能事后进行。Goods在不改变原有元数据使用方式的情况下,在后台执行和收集元数据,记录与其他数据集的血缘关系,对外提供高效的元数据查询服务。3.论文内幕这篇论文的特点是方向新颖,问题开放,所以写作逻辑与其他论文有些不同,侧重于问题的定义。主要包括几个方面:挑战、数据发现能力、后端存储计算服务、查询服务、相关工作和未来1.挑战以下是整体架构。可以看到Goods支持多种数据源的元数据发现,并提供了丰富的外部数据管理能力。挑战包括以下内容:海量数据集的元数据发现:支持发现Google所依赖的260亿个数据集。未来需要推断与数据集关联的元数据来推断数据集的多样性:不同的数据源有不同的类型系统,如何做一套统一的元数据管理具有挑战性。比如bigtable表需要按照列簇进行分表。数据集的TTL能力:因为元数据会有版本,所有保留的数据量都很大,所以需要TTL能力。后元数据发现具有一定的不确定性:使用Calculatetheimportancebasedontheself-containedcontentofthedatasetandthedatasetitself:通过计算访问频率主动推断数据集对用户的重要性,对于示例,并还原数据集的语义:数据集的语义对后续的查询、搜索和描述更有意义2.商品数据发现能力。存储的元数据包括从不同系统获得的元数据。货物弥补了自由度和统一视图之间的差距。同时,它具有聚合多个版本的能力。元数据有多种方法可以爬取和组装元数据。获取的元数据不仅支持元数据恢复,还满足数据沿袭和流量管理。Goods支持构建图来描述元信息之间的关系。发现元数据的手段包括:使用pb存储结构化元数据,读取部分数据识别schema,使用算法识别潜在的关键关键字,通过注释消除语义歧义。数据根据逻辑集群级别进行聚合和分类。分类之后,可以进行一些智能的模式推理和传播,从而减少模式推理的开销。3、后端存储与计算服务目录存储:特点是支持对数据集添加描述,以及一些维度的标签信息,批处理作业性能和调度。后端有分析和生成元数据的作业,模式识别可能需要很长时间。做了一些Homogeneousmetadata,比如partitionedmetadata,发现可以剪枝容错:status的metadata存储job的运行状态,对执行的job的isolatedmetadata进行garbagecollection:这里是一些TTL4和queryserviceDatasetprofilepages:支持dataset添加profile级别的配置,以防止使用空间因压缩而减少。数据集搜索:这里主要是一些索引相关的团队报告:可以监控数据集属性的变化5、相关工作行业工作:Goods的特点是管理海量数据湖的元数据,在不重新创建元数据的情况下进行预处理。与现有的Hive等元数据管理相比,核心区别在于数据湖场景和后续的元数据发现。未来的工作包括:标记数据集的重要性还没有完全与生产、测试??和开发数据集区分开来整合更多的信息来做数据集推理和管理语义发现和识别4.学习感知海量数据湖场景的商品数据集被使用在做事后发现、提取、收集、管理和查询元数据。这与笔者在阿里云原生数据湖分析中所做的数据湖管理的元数据发现工作基本一致。这项工作对于数据湖场景有很大的价值。可见,商品是在数据集的血液中被发现的。更加系统地考虑了模糊数据集的规模和准确性。