【データベース】場所を問わず一括検索!「フェデレーションクエリ」|情報処理問題1000本ノック
データがクラウド、オンプレミス、あるいは異なる種類のデータベースに分散していても、まるで一つの場所にまとまっているかのように検索できる「仮想的な統合」を攻略しましょう。
1. 問題:分散データの横断検索
【 問題 】 物理的に異なる場所にある複数のデータベースやストレージに対して、データを一か所に集約することなく、一つのクエリで横断的に検索・結合(JOIN)して結果を得る仕組みを何と呼ぶでしょうか?
ア、レプリケーション イ、フェデレーションクエリ ウ、データウェアハウス エ、正規化
2. 正解:分散システムに関する正解
正解: イ、フェデレーションクエリ(Federated Query)
3. 解説:移動させずに「その場」で読み取る
「フェデレーション(連盟)」という名の通り、自立した複数のデータベースが協力し合って一つの大きなデータベースのように振る舞います。
【図解:フェデレーションクエリのメリット】
■ 仕組み
・ユーザーは一つの「窓口」にSQL(クエリ)を投げます。
・システムが裏側で「MySQLにあるデータ」と「クラウドのオブジェクトストレージ(S3等)にあるデータ」をそれぞれ取得し、結合して返します。
■ メリット
・ETL(データ移行)が不要:データをコピーして運ぶ時間やコストがかかりません。
・最新性の確保:コピーではなく現地のデータを直接見るため、常に最新の状態を検索できます。
■ デメリット
・ネットワーク越しにデータを取得するため、一か所に集約されたDBに比べるとパフォーマンスが低下しやすい傾向があります。
■ 仕組み
・ユーザーは一つの「窓口」にSQL(クエリ)を投げます。
・システムが裏側で「MySQLにあるデータ」と「クラウドのオブジェクトストレージ(S3等)にあるデータ」をそれぞれ取得し、結合して返します。
■ メリット
・ETL(データ移行)が不要:データをコピーして運ぶ時間やコストがかかりません。
・最新性の確保:コピーではなく現地のデータを直接見るため、常に最新の状態を検索できます。
■ デメリット
・ネットワーク越しにデータを取得するため、一か所に集約されたDBに比べるとパフォーマンスが低下しやすい傾向があります。
[ 実例:クラウドでの活用 ]
★ AWSの「Amazon Athena」や「Redshift Spectrum」、Google Cloudの「BigQuery Omni」などが代表的です。これらを使うと、DB内のデータと、外部ストレージにあるCSVファイルを一発で結合して集計できます。
★ AWSの「Amazon Athena」や「Redshift Spectrum」、Google Cloudの「BigQuery Omni」などが代表的です。これらを使うと、DB内のデータと、外部ストレージにあるCSVファイルを一発で結合して集計できます。
1. 理解のコツ: 「各国の出張所に電話をかけて、その場で在庫を確認して合計を出す本部」のようなイメージです。在庫データをすべて本部に送らせる(データ集約)のではなく、必要な時だけ各所に問い合わせるのがフェデレーションです。
2. 試験対策の視点: 「分散されたデータ」「集約することなく」「横断的に検索」というキーワードがあればフェデレーションクエリです。データレイクやマルチクラウドの話題と相性が良い用語です。
4. まとめ
「データを移動せず、複数のソースを一つのクエリで検索する」。これがフェデレーションクエリです。データが爆発的に増え、あちこちに分散している現代において、スピード感のある意思決定を支える強力な武器となります。
PR