字节跳动数据中台的 Data Catalog 系统搜索实践

动手点关注

ba996246d760495f053e0814c1d754f6.gif

干货不迷路

1. 背景

Data Catalog 能够帮助大公司更好地梳理和管理自己的资产,是 Data-drvien 公司的重要平台。一个通用的 Data Catalog 平台通常包含元数据管理,搜索,血缘,标签,术语等功能。其中,搜索是 Data Catalog 的入口功能,承担着让用户“找到数”的主要能力。在字节跳动数据中台的 Data Catalog 系统中,每天有 70% 以上的用户会使用搜索功能。

2. 功能要求

业界主要的 Augmented Data Catalog 需要支持 Google 一样的搜索体验来搜索数据资产,以满足不同角色的用户的找数需求。我们的系统也一样,搜索需要支持的主要功能包括:

  • 支持多种不同类型资产的搜索。目前系统中已经包含 15+ 种数据源,可以分为几大类:数仓表比如 Hive、看板、数据集、实时表、Topic、对象存储、分布式文件系统如 LasFS 等。带来的主要挑战是不同类型的资产,搜索的字段和权重有明显差异。

  • 支持个性化。目前系统的用户遍布整个公司,角色涵盖数据工程师、数据分析师、产品经理、项目经理、销售和数据科学家等等,需要完成的数据工作任务差异也比较大,比如数据开发、数据治理、BI、数据分析和机器学习等等,因此个性化对 Data Catalog 的搜索尤为重要。

  • 支持各种业务元数据的高级筛选。数据资产除了名称/别名/描述等字段,通常还会有一些业务元数据,如项目 / 业务域 / 负责人 / 负责人部门 / 标签 / 业务术语 / 生命周期状态等。通过支持指定业务元数据进行筛选,帮助用户减小搜索范围,更快搜到对应资产。

  •  支持秒级的实时性。这里的实时性是指元数据的变更需要在秒级别反映到Data Catalog 的搜索里,例如新建表需要在操作完成后 1~2 秒内即能搜到相应的表,删除表需要不再显示在搜索结果中。原因是用户新建或更新资产后通常会到我们的系统上查看相应的变更是否生效。用户手动在浏览器操作搜索的时间通常是秒级,超过这个时间会给用户带来困惑,降低整个 Data Catalog 的使用体验。

  • 支持 Google 类似的搜索推荐(Type as you search)功能。搜索补全功能是搜索的一个导航功能,可以在用户键入内容时提示他们可以输入的相关内容,从而提高搜索精度。这个功能对响应速度有一定的要求,同时由于数据资产的特殊性,前缀相同的资产数量较多,因此也需要根据资产的热度进行一定的排序。

  • 支持多租户。我们的系统不仅供公司内部使用,也提供公有云服务,因此支持多租户也是搜索的一个 P0 需求。

  • 支持多语言。数据资产的名称 / 描述 / 标签 / 术语等需要支持多种语言,搜索的输入也可能是不同的语言,最常用的比如英文和中文。不同语言的分词,专有名词字典,文本特征等都会带来一些挑战。

3. 个性化的综合搜索

为了满足上述需求,我们的系统采用了个性化综合搜索的方案。区别于联合搜索(federated search),用户需要指定搜索的具体资产类型或在搜索结果页对不同的资产分栏显示,综合搜索(unified search)允许用户在一个搜索框中进行搜索输入而无需指定搜索的资产类型,同时,搜索服务会在同一个搜索结果页返回不同类型的相关资产,并根据匹配程度和用户的个性化数据进行混合排序。优势是能给不同的用户针对不同资产的搜索需求提供统一的搜索体验,同时提供了用户跨类型圈定资产的能力。另外,综合搜索使得我们可以在页面上进行标准化透出,从而我们可以从技术上进行搜索标准化,达到新数据源接入即可搜索。

3.1 架构

3.1.1 整体架构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值