ブロードキャストJOIN(ぶろーどきゃすとじょいん)
最終更新:2026/4/28
ブロードキャストJOINは、分散処理において小規模なテーブルを全ノードに複製して結合を行うことで、データのシャッフルを回避するJOIN最適化手法である。
ポイント
大規模テーブルと小規模テーブルの結合において、小規模テーブルをブロードキャストして各ノードに配布することで、効率的な結合処理を実現する。
ブロードキャストJOINとは
ブロードキャストJOINは、データベースにおけるJOIN処理の一種であり、特に大規模なデータセットを扱う際に用いられる最適化手法です。通常のJOIN処理では、結合条件に基づいて両方のテーブルを比較し、一致する行を結合しますが、ブロードキャストJOINでは、一方のテーブル(通常は比較的小さいテーブル)の全行を、もう一方のテーブル(通常は大規模なテーブル)を持つ各ノードにブロードキャスト(配布)します。その後、各ノードでブロードキャストされたテーブルとローカルのテーブルを結合します。
ブロードキャストJOINのメリット
ブロードキャストJOINの主なメリットは、大規模テーブル全体をシャッフルする必要がないため、ネットワーク通信のコストを削減できる点です。特に、一方のテーブルが十分に小さく、ネットワーク帯域幅がボトルネックになっている場合に有効です。
ブロードキャストJOINのデメリット
ブロードキャストJOINは、ブロードキャストするテーブルが大きすぎると、メモリ不足やネットワークの輻輳を引き起こす可能性があります。そのため、ブロードキャストするテーブルのサイズには制限があります。
ブロードキャストJOINの適用条件
ブロードキャストJOINが適用される条件は、データベースシステムによって異なりますが、一般的には以下の条件を満たす必要があります。
- 一方のテーブルが十分に小さいこと
- 結合条件が明確に定義されていること
- データベースシステムがブロードキャストJOINをサポートしていること
ブロードキャストJOINの例
例えば、顧客テーブル(小規模)と注文テーブル(大規模)を結合する場合、顧客テーブルをブロードキャストして各ノードに配布し、各ノードで顧客テーブルとローカルの注文テーブルを結合することで、効率的に結合処理を行うことができます。