龙空技术网

比较前 3 名Schema管理工具

墨谈科技 159

前言:

现在你们对“schema名称”大概比较注意,朋友们都想要分析一些“schema名称”的相关文章。那么小编在网络上搜集了一些对于“schema名称””的相关文章,希望咱们能喜欢,各位老铁们一起来学习一下吧!

关注留言点赞,带你了解最流行的软件开发知识与最新科技行业趋势。

在本文中,读者将了解三种顶级schema管理工具,如 AWS Glue、Confluent Schema Registry 和 Memphis.dev Schemaverse。

在深入研究不同的支持技术之前,让我们创建一个关于模式和消息代理或异步服务器-服务器通信的基线。

Schema = Struct

“消息”的形状和格式是在不同的应用程序/服务/电子实体之间构建和传递的。

模式可以在 SQL 和无 SQL 数据库中找到,在数据库期望接收的数据的不同形状中(例如,,,first_name:string等等first.name)。

不熟悉或不兼容的架构将导致删除,并且数据库不会保存记录。当两个逻辑实体正在通信时,例如两个微服务,也可以找到模式。

想象一下:A 向 B 写入一条消息,B 需要特定的格式(如 Protobuf),其逻辑或代码也需要特定的键和值类型,例如列名中的拼写错误。意外的架构或不同的格式将导致消费者。

模式是手动的或具有用于稳定通信的自动合同,规定两个实体应如何通信。 当数据从一项服务流向另一项服务时,以下比较技术将帮助您在服务之间维护和实施模式。

什么是 AWS Glue?

AWS Glue 是一种无服务器数据集成服务,可以更轻松地发现、准备、移动和集成来自多个来源的数据,用于分析、机器学习 (ML) 和应用程序开发。

资料来源:AWS 亚马逊能力数据整合引擎事件驱动的 ETL无代码 ETL 作业数据准备

AWS Glue 的主要组件是存储元数据的数据目录和可以自动生成 Scala 或 Python 代码的 ETL 引擎。常见的数据源是 Amazon S3、RDS 和 Aurora。

什么是 Confluent Schema Registry?

Confluent Schema Registry 为您的元数据提供服务层。
它提供了一个 RESTful 接口,用于存储和检索您的 Avro®、JSON 模式和 Protobuf 模式。

它根据指定的主题名称策略存储所有模式的版本化历史,提供多种兼容性设置,并允许根据配置的兼容性设置和对这些模式类型的扩展支持来演化模式。

它提供插入 Apache Kafka® 客户端的序列化程序,这些客户端处理以任何受支持格式发送的 Kafka 消息的模式存储和检索。

资料来源:融合文档

Schema Registry 存在于您的 Kafka 代理之外并与之分开。您的生产者和消费者仍然与 Kafka 对话以发布和阅读有关主题的数据(消息)。

同时,他们还可以与 Schema Registry 通信以发送和检索描述消息数据模型的模式。

什么是 Memphis.dev Schemaverse?

Memphis Schemaverse 在 Memphis 代理之上提供了一个强大的模式存储和模式管理层,无需独立的计算单元或专用资源。

通过独特的现代 UI 和编程方法,技术和非技术用户可以创建和定义不同的模式,将模式附加到多个站点,并选择是否应强制执行该模式。

Memphis 的低代码方法删除了序列化部分,因为它嵌入在生产者库中。

Schemaverse 支持版本控制、GitOps 方法和模式演变。

Schemaverse 的主要目的是充当自动看门人,确保接收到孟菲斯站的消息的格式和结构,并减少消费者崩溃,如果某些生产者使用不熟悉的模式生成事件,这种情况经常发生。

当前版本常见用例微服务之间的模式实施。数据合同转换事件格式围绕不同的消费者和生产者创建组织标准。比较
胶水架构注册表图式宇宙数据格式JSON 架构、Avro、ProtobufAvro、JSON 模式、ProtobufJSON 架构、Protobuf、GraphQL验证和执行是的是的是的连载需要实施需要实施透明的反序列化需要实施需要实施透明的管理界面图形用户界面、命令行界面、软件开发工具包休息、开发工具包、图形用户界面软件开发工具包、图形用户界面、命令行界面支持的语言斯卡拉Java、.NET、PythonGo、Node.js、Python、REST、TypeScript、NestJS、Java、.NET、Kotlin兼容模式向后或向前向后或向前向后或向前架构创建手动/自动手动/自动手动的价钱每月每 100,000 个存储超过 1M 的对象 1.00 USD + 每月每百万个超过 1M 的请求 1.00 USDConfluent Community 许可证/ Confluent Enterprise 许可证开源/免费验证和执行

当数据流应用程序与模式管理集成时,用于数据生产的模式将根据中央注册表中的模式进行验证,从而允许您集中控制数据质量。

AWS Glue 使用 Glue 架构注册表为使用 Apache Kafka、AWS MSK、Amazon Kinesis Data Streams、Apache Flink、Amazon Kinesis Data Analytics for Apache Flink 和 AWS Lambda 的应用程序提供实施和验证。

模式注册表 在客户端和服务器端验证和执行消息模式。验证将在客户端通过从模式注册表中检索模式对即将生成的数据执行序列化来进行。Confluent 提供了 read-to-use 序列化函数,可以使用。

架构更新和演进将需要启动客户端并获取更新以在注册表级别更改架构。首先需要切换到某种模式(前进/后退),执行更改,然后恢复默认。

Schemaverse 也在客户端验证和强制执行模式,无需手动获取模式并支持运行时演化,这意味着客户端无需重新启动即可应用新的模式更改,包括不同的数据格式。

Schemaverse 还使序列化/反序列化对客户端透明,并根据所需的数据格式将其嵌入到 SDK 中。

序列化/反序列化

通过网络发送数据时,需要先编码成字节。AWS Glue 和 Schema Registry 的工作方式类似。每个创建的模式都有一个 ID。

当生成数据的应用程序已注册其架构时,架构注册表序列化程序会验证应用程序生成的记录是否使用与已注册架构匹配的字段和数据类型进行结构化。

反序列化将通过类似的过程进行,方法是根据消息中的给定 ID 获取所需的模式。

在 AWS Glue 和 Schema Registry 中,客户有责任实施和处理序列化。在 Schemaverse 中,它是完全透明的,客户端所需要的只是产生符合要求结构的消息。

结论

到目前为止,您应该对三大模式管理工具 AWS Glue、Confluent Schema Registry 和 Memphis.dev Schemaverse 有了更好的了解。我希望您能带走一些有影响力的信息,以帮助您决定哪种模式管理工具最适合您和您的需求。

标签: #schema名称