本文へスキップ

フェデレーテッドクエリとは?

ふぇでれーてっどくえりー

フェデレーテッドクエリとは、データを一か所に集約せずに複数の異なるデータソース(データベースやストレージ)に対して単一のクエリを発行し、結果を統合して返す技術です。

フェデレーテッドクエリ(Federated Query)は、複数の異なるデータソースに対して、あたかも単一のデータベースであるかのようにSQLクエリを実行できる技術・仕組みです。「フェデレーテッド(federated)」は「連合した・統合した」という意味を持ち、分散したデータを論理的に一つに見せるアプローチを表しています。

フェデレーテッドクエリが解決する課題は、企業のデータが複数のシステムに分散している状況です。たとえば、受注データはMySQLに、顧客マスタはPostgreSQLに、過去のアーカイブはS3(オブジェクトストレージ)に存在する場合、従来はETLパイプラインでデータウェアハウスに一元化してから分析していました。フェデレーテッドクエリはこのETL工程なしに、各データソースを横断したクエリを直接実行可能にします。

主な実装・サービスには以下があります。

  • Amazon Athena:S3上のデータに加え、RDSやDynamoDBへのフェデレーテッドクエリをサポート
  • Google BigQuery Omni:他クラウドやオンプレミスのデータへのクエリを実現
  • Presto / Trino:プラガブルコネクターで多様なデータソースに対応するクエリエンジン
  • Apache Arrow Flight SQL:高速データ交換プロトコルを活用した分散クエリ

データを移動させずにその場で分析できることからデータメッシュアーキテクチャとの親和性も高く、データの鮮度を保ちながら横断分析を行う基盤として注目されています。

使い方・例文

「MySQLの売上データとS3の行動ログを結合して分析したい」という場合に、ETLでデータを統合せずそのまま横断クエリを投げられる仕組みとして、Amazon AthenaのフェデレーテッドクエリやTrinoが使われます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語