OpenMetadata和DataHub是目前最流行的两种开源数据编目工具。这两种工具在功能方面都有明显的重叠,但是,它们也有一些区别。在这里,我们将根据它们的体系结构、引入方法、功能、可用集成等来比较这两种工具。
OpenMetadata
OpenMetadata是创建Databook以解决Uber数据编目问题的团队学习的结果。OpenMetadata查看了现有的数据编目系统,发现拼图中缺少的部分是统一的元数据模型。
最重要的是,他们增加了元数据的灵活性和可扩展性。虽然,因为它在市场上的新鲜感;其可靠的数据治理引擎,以及强大的搜索引擎的支持,OpenMetadata引起了极大的关注。
DataHub
DataHub是LinkedIn解决数据发现和编目问题的第二次尝试;他们早些时候开源了另一个名为WhereHows的工具。
在第二次迭代中,LinkedIn通过创建充当 DataHub 主干的通用元数据服务,解决了拥有非常广泛的数据系统、查询语言和访问机制的问题。
OpenMetadata和DataHub有什么区别?
让我们根据以下标准比较OpenMetadata与DataHub:
架构和技术堆栈
元数据建模和引入
数据治理功能
数据沿袭
数据质量和数据分析
上游和下游集成
我们精心策划了上述标准,以便在了解关键知识的情况下对这些工具进行比较 - 特别是如果您要选择其中一个作为元数据管理平台,为您的组织推动特定用例。
让我们详细考虑这些因素中的每一个,并澄清我们对它们表现的理解。
OpenMetadata vs. DataHub:架构和技术堆栈
DataHub使用Kafka介导的摄取引擎将数据存储在三个独立的层中 - MySQL,Elasticsearch和使用Kafka流的neo4j。
这些层中的数据通过 API 服务层提供。除了标准的 REST API 之外,DataHub 还支持 Kafka 和 GraphQL 用于下游消费。DataHub使用Pegasus定义语言(PDL)和自定义注释来存储模型元数据。
OpenMetadata使用MySQL作为数据库,将所有元数据存储在统一元数据模型中。元数据是完全可搜索的,因为它由Elasticsearch提供支持,与DataHub相同。OpenMetadata 不使用专用的图形数据库,但它确实使用 JSON 模式来存储实体关系。
使用 OpenMetadata 的系统和个人与 REST API 交互,可以直接调用它,也可以通过 UI 调用它。要了解有关数据模型的更多信息,请参阅解释 OpenMetadata 高级设计的文档页面。
OpenMetadata vs. DataHub:元数据建模和摄取
这两种工具之间的主要区别之一是,DataHub专注于基于拉取和推送的数据提取,而OpenMetadata显然是为基于拉取的数据提取机制而设计的。
默认情况下,DataHub和OpenMetadata都主要使用基于推送的提取,尽管不同之处在于DataHub使用Kafka,而OpenMetadata使用Airflow来提取数据。
DataHub中的不同服务可以过滤来自Kafka的数据并提取它们需要的内容,而OpenMetadata的Airflow将数据推送到API服务器DropWizard,用于下游应用程序。
这两种工具在存储元数据的方式上也有所不同。如上一节所述,DataHub使用带注释的PDL,而OpenMetadata使用基于注释的JSON模式的文档。
OpenMetadata vs. DataHub:数据治理功能
在今年早些时候的发布中,DataHub集成了他们所谓的行动框架,以增强数据治理引擎。操作框架是一个基于事件的系统,允许您触发外部工作流以实现可观测性。数据治理引擎会自动批注新的和更改的实体。
OpenMetadata和DataHub都有内置的基于角色的访问控制,用于管理访问和所有权。
OpenMetadata 引入了其他几个概念,例如重要性,以通过其他上下文提供更好的搜索和发现体验。DataHub 使用称为“域”的构造作为常规标记和词汇表术语之上的高级标记,以便为您提供更好的搜索体验。
OpenMetadata vs. DataHub:数据沿袭
借助最新版本的 DataHub,它现在能够支持列级数据沿袭。OpenMetadata预计将于2022年<>月中旬发布,也有望增强列级谱系。
OpenMetadata的Python SDK for Lineage允许您使用用于存储世系数据的entityLineage架构规范从数据源实体获取自定义世系数据。
除了自动世系捕获之外,DataHub 还提供从名为“基于文件的世系”的数据源将世系数据作为文件引入的功能。数据中心使用此处指定的基于 YAML 的世系文件格式。
OpenMetadata vs. DataHub:数据质量和数据分析
尽管DataHub不久前已经为某些数据质量相关功能制定了路线图项目,但它们尚未实现。但是,DataHub确实提供了与Great Expectations和dbt等工具的集成。您可以使用这些工具来获取元数据及其测试和验证结果。
在 DataHub 上查看这个“Great Exceptions”的演示。
OpenMetadata对质量有不同的看法。他们将数据质量和剖析集成到工具中。因为有许多用于检查数据质量的开源工具,所以有很多方法可以定义测试,但 OpenMetadata 选择在定义测试的元数据标准方面支持远大期望。
如果远大期望已经与您的其他工作流程集成,并且您更愿意将其作为您的中央数据质量工具,那么您可以通过 OpenMetadata 的Great Exceptions成来实现它。
OpenMetadata vs. DataHub:上游和下游集成
DataHub和OpenMetadata都有一个基于插件的元数据摄取架构。这使它们都能够与数据堆栈中的一系列工具顺利集成。
DataHub提供了一个GraphQL API,一个开放API和几个SDK,用于开发DataHub和与DataHub交互的应用程序或工具。此外,您可以使用 CLI 安装所需的插件。这些与数据中心交互的各种方法允许您将数据摄取到数据中心,并将数据从数据中心取出以供进一步使用。
OpenMetadata 支持五十多个用于摄取元数据的连接器,从数据库到 BI 工具,从消息队列到数据管道,包括其他元数据编目工具,如 Apache Atlas 和 Amundsen。OpenMetadata目前提供两种集成 - Great Expectations和Prefect。
OpenMetadata vs. DataHub:比较摘要
DataHub和OpenMetadata都试图解决数据编目,搜索,发现,治理和质量方面的相同问题。这两种工具都是出于为需要支持大量数据源、团队和用例的大型组织解决这些问题而诞生的。
尽管这些工具在发布历史和成熟度方面略有不同,但它们的功能存在显着重叠。