火山引擎DataLeap的Data Catalog系统公有云实践 (上)

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

前言

Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据、数据消费者找数和理解数的业务场景。本篇内容源自于火山引擎大数据研发治理套件DataLeap中的Data Catalog 功能模块的实践,主要介绍Data Catalog在公有云部署和发布中遇到挑战及解决方案。

背景

  • Data Catalog是一种元数据管理的服务,会收集技术元数据,并在其基础上提供更丰富的业务上下文与语义,通常支持元数据编目、查找、详情浏览等功能。目前Data Catalog作为火山引擎大数据研发治理套件DataLeap产品的核心功能之一,经过多年打磨,服务于字节跳动内部几乎所有核心业务线,解决了数据生产者和消费者对于元数据和资产管理的各项核心需求。
  • DataLeap作为一站式数据中台套件,汇集了字节内部多年积累的数据集成、开发、运维、治理、资产、安全等全套数据中台建设的经验,助力ToB市场客户提升数据研发治理效率、降低管理成本。
  • Data Catalog作为DataLeap的核心功能之一,本文汇集了Data Catalog团队在最近一年公有云从0到1实践的整体经验,主要讲解遇到的各项挑战和对应的解决方案。

Data Catalog公有云发展历程

Data Catalog已经随着DataLeap一起作为公有云产品正式在火山引擎对外发布,下面是Data Catalog在功能演进上的一些重要时间节点:

  • 2021年9月,Data Catalog随着DataLeap完成在火山引擎公有云首个版本部署和发布,包含60%内部核心功能,支持EMR Hive数据源元数据管理。
  • 2022年2月,Data Catalog随着DataLeap完成火山引擎公有云Beta版本发布,吸引了一批客户试用。
  • 2022年5月,Data Catalog随着DataLeap完成火山引擎公有云GA版本发布,正式对外开放。
  • 2021年9月至2022年5月,Data Catalog发布10+版本,对齐95%内部核心功能以及发布新功能20+,包括支持LAS/ByteHouse数据源、OpenAPI和元数据采集等ToB场景新特性。

Data Catalog公有云整体架构

Data Catalog支持综合搜索、血缘分析、库表管理、元数据采集、备注问答、专题管理、OpenAPI等功能,和DataLeap其他功能模块(如数据开发、数据集成、数据质量、数据安全等)一起提供了大数据研发和治理场景的一站式解决方案。同时,Data Catalog公有云产品是基于火山引擎提供的数据引擎和云基础设施来部署和服务的,下面会简单介绍下我们所依赖和使用的产品和服务:

  • 数据引擎: 是火山引擎提供的数据分析、数据仓库和数据湖相关产品,包括ByteHouse/EMR/LAS等产品。通常Data Catalog会从这类系统内采集元并存储元数据,进行处理加工后,再提供搜索、血缘分析等功能;另外,库表管理模块也会依赖这类系统提供对应的接口来做建库建表等操作。
  • 内部公共服务: 是火山引擎为支持公司内部产品上公有云提供的若干公共基础服务,主要作用是方便内部产品能快速在公有云部署,提供和公司内部兼容性比较高的公共服务,降低改造和迁移成本。其中Data Catalog使用较多的包括:API网关、网络代理、访问控制、安全认证、监控报警等。
  • 基础服务: 这类服务或产品相较于上面说的内部公共服务主要区别是,他们是火山引擎对外售卖的标准云服务,内外部用户都可使用,且和业界主流云厂商能力是基本对齐的,不过会和公司内部一些类似的基础服务会有不少差异。Data Catalog主要使用这类基础服务来进行自身服务的部署运维,并且进行较多的兼容性改造,包括容器部署、网络打通、内外部CICD和监控报警流程一致性等方面。
  • 数据库和中间件: 是和业界主流云厂商对齐的存储和中间件领域的标准云服务,和公司内部对应组件也会有若干差异,Data Catalog为此也做了多版本的兼容。Data Catalog在元数据存储上使用到了Hbase/MySQL/ES/Redis,然后在元数据采集和同步场景使用了Kafka,同时用到了日志服务来提高研发运维效率。

下篇将继续给大家分享Data Catalog公有云遇到的挑战及解决方案。

点击跳转大数据研发治理套件 DataLeap了解更多

相关推荐
qq_334563553 分钟前
如何利用RETURNING获取ROWID_更新单行后快速定位物理地址
jvm·数据库·python
zhangchaoxies5 分钟前
HTML怎么显示同步最后成功时间_HTML “上次同步:X分钟前”【教程】
jvm·数据库·python
m0_5145205710 分钟前
mysql服务器如何优化网络传输设置_调整tcp相关内核参数
jvm·数据库·python
m0_6403093011 分钟前
如何快速重置SQL表中的自增ID_使用ALTER TABLE重置计数
jvm·数据库·python
2301_7641505612 分钟前
CSS如何制作响应式导航栏_利用Flexbox实现自适应水平排列
jvm·数据库·python
qq_3345635513 分钟前
HTML怎么创建表格_HTML表格结构与基本语法【教程】
jvm·数据库·python
yejqvow1217 分钟前
C#怎么实现缓存功能 C#如何用MemoryCache和Redis实现数据缓存提升访问速度【架构】
jvm·数据库·python
王仲肖18 分钟前
PostgreSQL 关系级锁 — 总结与优化指南
数据库·postgresql·oracle
AC赳赳老秦19 分钟前
测试工程师:OpenClaw自动化测试脚本生成,批量执行测试用例
大数据·linux·人工智能·python·django·测试用例·openclaw
2401_8359568121 分钟前
如何通过phpMyAdmin修改Laravel用户的密码_使用Bcrypt哈希格式更新User表字段
jvm·数据库·python