GoogleGoogle Professional Data Engineer (PDE) Certification
·JA
·更新日 21 Aug 2026
sales_transaction_header と sales_transaction_line という2つの大きなテーブルは、密結合しており、ロード後は不変で、頻繁に結合されます。分析パフォーマンスを最適化するには、BigQuery でどのようにモデリングすべきですか?
解答を選択
オプションをタップして解答を確認してください。
正解: sales_transaction_header の情報を行として、sales_transaction_line の行をネストされた繰り返しフィールドとして保持する sales_transaction テーブルを作成します。.
これが解答である理由
BigQueryでは、密結合したテーブルを結合する際のパフォーマンスを最適化するために、ネストされた繰り返しフィールド(RECORD型とARRAY型)の使用が推奨されます。これにより、結合操作が不要になり、クエリの実行速度が向上し、コストも削減できます。salestransactionheaderの情報を親レコードとして、salestransactionlineの情報をネストされた繰り返しフィールドとして保持することで、データが物理的に共存し、効率的なデータアクセスが可能になります。
他の選択肢は以下の理由で不適切です。
salestransactionheaderのデータを重複させる方法は、ストレージコストを増加させ、データの冗長性を生み出します。
JSONデータ型として保存する方法は、クエリ時にJSONをパースする必要があり、パフォーマンスが低下する可能性があります。
テーブルを別々に作成し、クエリ時に結合する方法は、結合操作のオーバーヘッドによりパフォーマンスが低下します。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する →
カード不要