火山引擎DataLeap的Data Catalog系统通过汇总和组织各种元数据,解决了数据生产者梳理数据、数据消费者找数和理解数的业务场景,其中搜索是Data Catalog的主要功能之一。本文详细介绍了火山引擎DataLeap的Catalog系统搜索实践:功能的设计与实现。
 
Data Catalog能够帮助大公司更好地梳理和管理自己的资产,是Data-drvien公司的重要平台。一个通用的Data Catalog平台通常包含元数据管理,搜索,血缘,标签,术语等功能。其中,搜索是Data Catalog的入口功能,承担着让用户“找到数”的主要能力。在火山引擎DataLeap的Data Catalog系统中,每天有70%以上的用户会使用搜索功能。
 
业界主要的Augmented Data Catalog需要支持Google一样的搜索体验来搜索数据资产,以满足不同角色的用户的找数需求。火山引擎DataLeap也一样,搜索需要支持的主要功能包括:
  • 支持多种不同类型资产的搜索。目前系统中已经包含15+种数据源,可以分为几大类:数仓表比如Hive,看板,数据集,实时表,Topic,对象存储,分布式文件系统如LasFS等。带来的主要挑战是不同类型的资产,搜索的字段和权重有明显差异。
  • 支持个性化。目前系统的用户遍布整个公司,角色涵盖数据工程师,数据分析师,产品经理,项目经理,销售和数据科学家等等,需要完成的数据工作任务差异也比较大,比如数据开发,数据治理,BI,数据分析和机器学习等等,因此个性化对Data Catalog的搜索尤为重要。
  • 支持各种业务元数据的高级筛选。数据资产除了名称/别名/描述等字段,通常还会有一些业务元数据,如项目/业务域/负责人/负责人部门/标签/业务术语/生命周期状态等。通过支持指定业务元数据进行筛选,帮助用户减小搜索范围,更快搜到对应资产。
  • 支持秒级的实时性。这里的实时性是指元数据的变更需要在秒级别反映到Data Catalog的搜索里,例如新建表需要在操作完成后1~2秒内即能搜到相应的表,删除表需要不再显示在搜索结果中。原因是用户新建或更新资产后通常会到我们的系统上查看相应的变更是否生效。用户手动在浏览器操作搜索的时间通常是秒级,超过这个时间会给用户带来困惑,降低整个Data Catalog的使用体验。
  • 支持Google类似的搜索推荐(Type as you search)功能。搜索补全功能是搜索的一个导航功能,可以在用户键入内容时提示他们可以输入的相关内容,从而提高搜索精度。这个功能对响应速度有一定的要求,同时由于数据资产的特殊性,前缀相同的资产数量较多,因此也需要根据资产的热度进行一定的排序。
  • 支持多语言。数据资产的名称/描述/标签/术语等需要支持多种语言,搜索的输入也可能是不同的语言,最常用的比如英文和中文。不同语言的分词,专有名词字典,文本特征等都会带来一些挑战。
 
为了满足上述需求,火山引擎DataLeap的Catalog系统采用了个性化综合搜索的方案。区别于联合搜索(federated search),用户需要指定搜索的具体资产类型或在搜索结果页对不同的资产分栏显示,综合搜索(unified search)允许用户在一个搜索框中进行搜索输入而无需指定搜索的资产类型。
同时,搜索服务会在同一个搜索结果页返回不同类型的相关资产,并根据匹配程度和用户的个性化数据进行混合排序。优势是能给不同的用户针对不同资产的搜索需求提供统一的搜索体验,同时提供了用户跨类型圈定资产的能力。另外,综合搜索使得火山引擎DataLeap的Catalog系统可以在页面上进行标准化透出,从而可以从技术上进行搜索标准化,达到新数据源接入即可搜索。

火山引擎DataLeap的Catalog系统搜索实践(一):背景与功能需求的更多相关文章

  1. 如何又快又好实现 Catalog 系统搜索能力?火山引擎 DataLeap 这样做

      摘要 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理.资产.安全等全套数据中台建设,降低工作成本和数据维护成本.挖掘数据价 ...

  2. 火山引擎 DataLeap:揭秘字节跳动数据血缘架构演进之路

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维 ...

  3. 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理. ...

  4. 火山引擎 DataLeap 的 Data Catalog 系统公有云实践

      Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景.本篇内容源自于火山引擎大数据研发治理套件 DataLeap 中的 Data Ca ...

  5. 火山引擎 DataLeap:一家企业,数据体系要怎么搭建?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 导读:经过十多年的发展,数据治理在传统行业以及新兴互联网公司都已经产生落地实践.字节跳动也在探索一种分布式的数据治 ...

  6. 火山引擎DataLeap数据调度实例的 DAG 优化方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 实例 DAG 介绍 DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成.开发.运维.治理.资产管理能力 ...

  7. 字节跳动构建Data Catalog数据目录系统的实践(上)

    作为数据目录产品,Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景,并服务于数据开发和数据治理的产品体系.本文介绍了字节跳动 Data ...

  8. 还原火山引擎 A/B 测试产品——DataTester 私有化部署实践经验

      作为一款面向ToB市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路.   在面向ToB客户私有化的实际落地中,火 ...

  9. JuiceFS 在火山引擎边缘计算的应用实践

    火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算.网络.存储.安全.智能为核心能力的新一代分布式云计算解决方案. 01- 边 ...

  10. 京东基于Spark的风控系统架构实践和技术细节

    京东基于Spark的风控系统架构实践和技术细节 时间 2016-06-02 09:36:32  炼数成金 原文  http://www.dataguru.cn/article-9419-1.html ...

随机推荐

  1. 手撕Vuex-实现mutations方法

    经过上一篇章介绍,完成了实现 getters 的功能,那么接下来本篇将会实现 mutations 的功能. 在实现之前我们先来回顾一下 mutations 的使用. 将官方的 Vuex 导入进来,因为 ...

  2. 龙芯发布 .NET 8 SDK 8.0.100-rc2 LoongArch64

    随着.NET 8的发布的临近,国内的社区朋友们也很关心龙芯.NET 团队对于Loongarch .NET 8的发布时间,目前从龙芯.NET编译器团队的可靠信息,Loongarch .NET 8的发布会 ...

  3. 从混乱到优雅:基于DDD的六边形架构的代码翻新指南

    前言 趁着双十一备战封板,终于又有一些时间可以梳理一下最近的心得. 最近这半年跟同事讨论比较多的是分层架构,然后就会遇到两个触及灵魂的问题,一个是如何做好分层架构,二是DDD在架构层面该如何落地. 为 ...

  4. 手撕Vuex-安装模块数据

    前言 根据上一篇,[手写Vuex]-提取模块信息,我们已经可以获取到模块的信息了,将模块信息变成了我们想要的数据结构,接下来我们就要根据模块的信息,来安装模块的数据. 在上一篇当中我们定义了一个 Mo ...

  5. JavaScript高级程序设计笔记05 基本引用类型

    基本引用类型 引用值(对象)是某个特定引用类型的实例.引用类型是把数据和功能组织到一起的结构. 引用类型有时也被称为对象定义,因为它们描述了自己的对象应有的属性和方法. Date 参考了Java早期版 ...

  6. 斗地主AI出牌助手--在线调用斗地主AI,实现自动斗地主

    简介 程序基于Python3.7开发的斗地主AI出牌助手,目前支持欢乐斗地主桌面版,微信版,也可以自己制作相应其他版本. 此出牌助手核心是识别出三位玩家出牌内容,调用基于DouZero封装的API接口 ...

  7. python之字符串format()方法

    format()方法就是格式化指定的值,然后再将其插入字符串的占位符内 占位符用大括号{}来定义哈,可以使用命名索引{sws}.编号索引{0}.甚至空的占位符{}来标识占位符. 语法就是 string ...

  8. Walrus 0.4发布:单一配置、多态运行,体验下一代应用交付模型

    今天,我们高兴地宣布云原生统一应用平台 Walrus 0.4 正式发布,这是一个里程碑式的版本更新.新版本采用了全新的应用模型--仅需进行单一配置,即可在多种模态的基础设施及环境中运行包括应用服务及周 ...

  9. jmeter工具中vars与props命令的区别和使用

    话不多说直接干活!!!!! vars 和 props命令存在于"jsr223 预处理器"."BeanShell 预处理程序"."JSR223 后置处理 ...

  10. Flink State 状态原理解析

    一.Flink State 概念 State 用于记录 Flink 应用在运行过程中,算子的中间计算结果或者元数据信息.运行中的 Flink 应用如果需要上次计算结果进行处理的,则需要使用状态存储中间 ...