DataHub——实时数据治理平台 (2)

LinkedIn意识到不断增长的需求,即跨各种数据实体以及将它们连接在一起的元数据图的一致的搜索和发现体验。于是决定扩展项目的范围,以建立一个雄心勃勃的愿景:将LinkedIn员工与他们重要的数据联系起来,从而构建一个完全通用的元数据搜索和发现工具DataHub。

组件服务框架

DataHub Web由Ember Framework开发,在应用模块化UI基础结构中,将DataHub Web应用程序构建为一系列紧密结合功能的组件,这些组件被分组为可安装的软件包。该软件包体系结构在基础上使用了Yarn Workspaces和Ember附加组件,并使用Ember的组件和服务进行了组件化。您可以将其视为一个使用小型构建块(即组件和服务)构建的UI,以创建较大的构建块(即Ember附加组件和npm / Yarn软件包),这些UI放在一起构成最终构成DataHub Web应用程序。

以组件和服务为应用程序的核心,该框架使我们能够分解不同的方面并将应用程序中的其他功能组合在一起。此外,每一层的分段都提供了非常可定制的体系结构,该体系结构允许消费者扩展或简化其应用程序,以仅利用与其领域相关的功能或新的元数据模型。

前端提供三种交互类型:(1)搜索,(2)浏览和(3)查看/编辑元数据。以下是实际应用中的一些示例屏幕截图:

file


file


file

file


file


file

DataHub应用截图

类似于典型的搜索引擎体验,用户可以通过提供关键字列表来搜索一种或多种类型的实体。他们可以通过筛选多个方面来进一步对结果进行切片和切块。高级用户还可以利用运算符(例如OR,NOT和regex)执行复杂的搜索。

DataHub中的数据实体可以以树状方式组织和浏览,其中每个实体都可以出现在树中的多个位置。这使用户能够以不同方式(例如,通过物理部署配置或业务功能组织)浏览同一目录。甚至有树的专用部分仅显示“认证实体”,这些实体是通过单独的治理流程进行管理的。

最终交互(查看/编辑元数据)也是最复杂的交互。每个数据实体都有一个“配置文件页面”,其中显示了所有关联的元数据。例如,数据集配置文件页面可能包含其架构,所有权,合规性,运行状况和沿袭元数据。它还可以显示实体与其他实体之间的关系,例如,生成数据集的作业,从该数据集计算出的度量或图表等。对于可编辑的元数据,用户也可以直接通过UI更新。

元数据获取

简而言之,元数据是“ 提供有关其他数据的信息的数据。” 对于元数据建模,这带来了两个不同的要求:

元数据也是数据:要对元数据建模,我们需要一种语言,其功能至少应与通用数据建模所使用的语言一样丰富。

元数据是分布式的:期望所有元数据都来自单一来源是不现实的。例如,管理数据集的访问控制列表(ACL)的系统很可能不同于存储架构元数据的系统。一个好的建模框架应允许多个团队独立地发展其元数据模型,同时提供与数据实体相关联的所有元数据的统一视图。

我们没有发明一种新的元数据建模方法,而是选择使用Pegasus(一种由LinkedIn创建的开源且完善的数据模式语言)。Pegasus专为通用数据建模而设计,因此适用于大多数元数据。但是,由于Pegasus没有提供对关系或关联进行建模的显式方法,因此我们引入了一些自定义扩展来支持这些用例。

为了演示如何使用Pegasus对元数据进行建模,让我们看一下下面的修改后的实体关系图(ERD)所说明的简单示例。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwfxsz.html