マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Schema Registry

【OSS情報アーカイブ】Schema Registry

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Schema Registry」とは

基本情報

概要

Schema Registry(スキーマ レジストリ)とは、メッセージングシステム「Apache Kafka」ベースのストリームデータ基盤「Confluent Platform」の1コンポーネントです。一元的なスキーマ管理機能を提供します。

ストリームデータ基盤「Confluent Platform」とは

Confluent Platformとは、大量データを管理可能なストリームデータ基盤です。さまざまなITシステムから集まる構造化されていないものの価値あるデータ群に対して、統一的で容易なアクセスを可能とします。

Confluent Platformは、「Apache Kafka」をコアとして使用し、「Schema Registry」「Rest Proxy」「Camus(Hadoop Cluster向けMapReduce実装)」などのコンポーネントを統合し、一貫性と柔軟性を持つストリームデータ処理基盤を容易に構築できます。各コンポーネントはインクリメンタルに追加可能です。

Confluent Platformは、Apache Kafkaプロジェクトにコミットしており、Kafka(OSSバージョン)に対して常時互換性を保持しています。

「Schema Registry」基本説明

「Schema Registry」は「Confluent Platform」の1コンポーネントで、スキーマ管理に対して一元管理されたシリアライズ機構を提供します。

主な特徴

「Apache Kafka」のスキーマ定義問題

「Apache Kafka」などのメッセージングサービスを利用する場合、共通フォーマットを定義しておき、それに従ったメッセージを使用します。

しかし、システム拡張などにより、「新たなフォーマットを取り込まなければならなくなる」などのフォーマット互換性維持が課題となります。

スキーマ定義言語「Avro」

フォーマット定義としてよく使われる「JSONフォーマット」には弱点があります。
1.JSON自体に構造(スキーマ)定義を入れ込んだ場合、各フィールドに形式付記をしなければならず煩雑
2.構造定義なしの場合、予期しないデータが入り込む危険性がある

そのような、データスキーマ問題を解消するため、スキーマ定義言語「Avro」が使われ始めています。

「Avro」の特徴
・「スキーマ変化に対応できる仕組み」を有している
・スキーマ定義はJSON
・シリアライズ時+デシリアライズ時にこのスキーマを使用
 →シリアライズ化したデータからはフィールド名が除去される(データサイズ縮小)

「Avro」の互換性確保パターン
1.後方互換(Backward Compatibility)
2.前方互換(Forward Compatibility)
3.完全互換(Full Compatibility)

「Schema Registry」概要

「Schema Registry」は、「Apache Kafka」をバックエンドに使用し、Avroスキーマ用分散ストレージ層で、一元管理可能なシリアライズ機構を提供します。RESTfulインターフェイスを提供します。

「Apache Kafka」の各Topicに対して使用された全バージョンのスキーマを管理します。すべてのスキーマのバージョン履歴を保存し、複数の互換性設定によりスキーマの進化を可能にします。

ユーザの定義した互換性設定に応じた変更のみを可能とする安全なスキーマ変更環境を提供することで、予期せぬ問題発生を防止します。

ライセンス情報

Schema Registryのライセンスは「Apache License Version 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。