首页 > 其他分享 >火山引擎 DataLeap 构建Data Catalog系统的实践(一):背景与调研思路

火山引擎 DataLeap 构建Data Catalog系统的实践(一):背景与调研思路

时间:2023-07-04 11:03:32浏览次数:40  
标签:DataLeap Data Catalog 引擎 产品 数据

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群

摘要

Data Catalog 产品,通过汇总技术和业务元数据,解决大数据生产者组织梳理数据、数据消费者找数和理解数的业务场景,并服务于数据开发和数据治理的产品体系。本文介绍了火山引擎 DataLeap 套件下Data Catalog系统的构建和迭代过程,概要介绍核心设计以及部分关键实现。

背景

元数据与Data Catalog

元数据,一般指描述数据的数据,对数据及信息资源的描述性信息。在当前大数据的上下文里,通常又可细分为技术元数据和业务元数据。 Data Catalog,是一种元数据管理的服务,会收集技术元数据,并在其基础上提供更丰富的业务上下文与语义,通常支持元数据编目、查找、详情浏览等功能。 元数据是Data Catalog系统的基础,而Data Catalog使元数据更好的发挥业务价值。

Data Catalog的业务价值

火山引擎 DataLeap 套件下Data Catalog系统主要服务于两类用户的两种核心场景。 对于数据生产者来说,他们利用Data Catalog系统来组织、梳理自己负责的各类元数据。生产者大部分是大数据开发的同学。通常,生产者会将某一批相关的元数据以目录等形式编排到一起,方便维护。另外,生产者会持续的在技术元数据的基础上,丰富业务相关的属性,比如打业务标签,添加应用场景描述,字段解释等。 对于数据消费者来说,他们通过Data Catalog查找和理解他们需要的数据。在用户数量和角色上看,消费者远多于生产者,涵盖了数据分析师、产品、运营等多种角色的同学。通常,消费者会通过关键字检索,或者目录浏览,来查找解决自己业务场景的数据,并浏览详情介绍,字段描述,产出关系等,进一步的理解和信任数据。 另外,Data Catalog系统中的各类元数据,也会向上服务于数据开发、数据治理两大类产品体系。 在大数据领域,各类计算和存储系统百花齐放,概念和原理又千差万别,对于元数据的采集、组织、理解、信任等,都带来了很大挑战。因此,做好一个Data Catalog产品,本身是一个门槛低、上限高的工作,需要有一个持续打磨提升的过程。

旧版本痛点

字节跳动Data Catalog产品早期为能较快解决Hive的元数据收集与检索工作,是基于LinkedIn Wherehows进行二次改造 。Wherehows架构相对简单,采用Backend + ETL的模式。初期版本,主要利用Wherehows的存储设计和ETL框架,自研实现前后端的功能模块。 随着字节跳动业务的快速发展, 公司内各类存储引擎不断引入,数据生产者和消费者的痛点都日益明显。之前系统的设计问题,也到了需要解决的阶段。具体来说:
  • 用户层面痛点:
    • 数据生产者: 多引擎环境下,没有便捷、友好的数据组织形式,来一站式的管理各类存储、计算引擎的技术与业务元数据
    • 数据消费者: 各种引擎之间找数难,元数据的业务解释零散造成理解数难,难以信任
  • 技术痛点:
    • 扩展性:新接入一类元数据时,整套系统伤筋动骨,开发成本月级别
    • 可维护性:经过一段时间的修修补补,整个系统显的很脆弱,研发人员不敢随便改动;存储依赖重,同时使用了MySQL、ElasticSearch、图数据库等系统存储元数据,维护成本很高;接入一种元数据会增加2~3个ETL任务,运维成本直线上升

新版本目标

基于上述痛点,火山引擎 DataLeap 研发人员重新设计实现Data Catalog系统,希望能达成如下目标:
  • 产品能力上,帮助数据生产者方便快捷组织元数据,数据消费者更好的找数和理解数
  • 系统能力上,将接入新型元数据的成本从月级别降低为星期甚至天级别,架构精简,单人业余时间可运维

调研与思路

业界产品调研

站在巨人的肩膀上,动手之前火山引擎 DataLeap 研发人员针对业界主流DataCatalog产品做了产品功能和技术调研。因各个系统都在频繁迭代,数据仅供参考。
产品分类 产品名称 支持元数据种类 重要产品功能 机器学习能力 获取信息途径 特点分析  
独角兽 C** 40+   搜索、血缘、标签、评价与打分、认证、问答、Connector市场等 demo和文档 功能丰富,成熟度高,产品设计上有诸多可借鉴之处
A** 60+   搜索、血缘、标签、问答、Connector市场等 demo和文档 功能较丰富,成熟度较高,产品能力可做参考
开源 A** A**   10+   搜索、血缘、标签等   源码和文档 离线相关数据源支持较好,类型系统和存储系统设计巧妙,但产品侧能力弱。近期迭代较缓慢
L** D** 40+   搜索、血缘、标签、统计大盘等 无   源码和文档 发展较快,背后商业化公司支持力度大,有在线demo环境可随时体验,功能简单直接
商业化 A** P** 30+ 搜索、血缘、标签、统计大盘等 无   产品体验和文档 功能较简单,与其公有云结合紧密,部分功能有借鉴意义

升级思路

根据调研结论,结合字节已有业务特点,火山引擎 DataLeap 研发人员敲定了以下发展思路:
  • 对于搜索、血缘这类核心能力,做深做强,对齐业界领先水平
  • 对于各产品间特色功能,挑选适合字节业务特点的做融合
  • 技术体系上,存储和模型能力基于Apache Atlas改造,应用层支持从旧版本平滑迁移
  点击跳转大数据研发治理套件 DataLeap了解更多

标签:DataLeap,Data,Catalog,引擎,产品,数据
From: https://www.cnblogs.com/bytedata/p/17525090.html

相关文章

  • 关于Gin如何在multipart/form-data请求下解析JSON数组
    前言众所周知,在Gin下,如果只是在multipart/form-data请求下解析JSON对象到结构体的话就比较简单。但是如果是要解析JSON数组到对应请求结构体呢?正文举个例子:typeAddItemstruct{IDint`form:"-"` Images[]*multipart.FileHea......
  • Java 常用注解@Configuration,@Bean及@ConfigurationProperties(prefix = "spring.data
    @ConfigurationpublicclassEventDataSourceConfig{@Bean(name="eventdataSource")@ConfigurationProperties(prefix="datasource.event")publicDataSourceoldDataSource(){returnDataSourceBuilder.create().build();......
  • OGG-02912 Patch 17030189 is required on your Oracle mining database for trail fo
    Therewillbeascript"prvtlmpg.plb"undergghomedirectory[oracle@OGGR2-1ogg]$ls-lrtprvtlmpg.plb-rw-r-----1oracleoinstall9487May272015prvtlmpg.plb[oracle@OGGR2-1ogg]$pwd/ogg[oracle@OGGR2-1ogg]$Logintothedatabaseand......
  • 1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in
    项目场景:mysql创建function报错误1418-ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAin问题描述:执行创建函数的sql语句时,提示:ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAinitsdeclarationandbinaryloggingisenab......
  • 火山引擎DataLeap数据质量解决方案和最佳实践(二):解决方案
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群DataLeap流批数据质量解决方案产品功能架构火山引擎DataLeap流批数据质量解决方案有4个大的功能:离线数据质量监控:解决批和微批监控场景,支持Hive、ClickHouse、ES等多种数据源,并有字段、唯一性......
  • 火山引擎DataLeap数据质量解决方案和最佳实践(二):解决方案
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群DataLeap流批数据质量解决方案产品功能架构火山引擎DataLeap流批数据质量解决方案有4个大的功能:离线数据质量监控:解决批和微批监控场景,支持Hive、ClickHouse、ES等多种数据源,并......
  • Databend v1.2 版本发布!Data + AI
    各位社区小伙伴们,Databend于2023年6月29日迎来了v1.2.0版本的正式发布!相较于v1.1.0版本,开发者们一共新增了600次commit,涉及3083个文件变更,约17万行代码修改。感谢各位社区伙伴的参与,以及每一个让Databend变得更好的你!在v1.2.0版本中,Databend新增了BIT......
  • SqlDataAdapter
    publicclassDbOperation{privatestaticstringconnectionString=ConfigurationManager.AppSettings["Connection"];privatestaticSqlDataAdaptermyAdapter=newSqlDataAdapter();///<summary>///Initializ......
  • [MEF]第05篇 MEF的目录(Catalog)筛选
    一、演示概述本示例演示如何使用MEF提供的目录(Catalog)的扩展机制实现可过滤导出部件的自定义目录类。主要是通过继承ComposablePartCatalog基类,并实现接口INotifyComposablePartCatalogChanged来完成的。相关下载(屏幕录像):http://yunpan.cn/cVkvuUNfuDtTX 访问密码567d......
  • SAP CRM Fiori 应用后台 OData 服务性能优化的一些思路
    取一个task的attachmentheader信息(包含4个attachment)都需要0.5秒时间,太慢了。具体分析:取attachment时,会先callretrieve_task_opt取taskheader信息,消耗0.1秒。通过之前4个节点的优化经验,这个retrieve是不需要的,此时header信息已经在memory里了,直接使用即可。主要的瓶颈就......