ある企業が、毎日蓄積される大量のIoTセンサーデータをBigQueryで分析しています。クエリコストを抑えながら、過去3ヶ月以内のデータへのアクセスを最適化したい場合、最も適切なBigQueryのコスト最適化戦略はどれですか?
- A. 日時フィールドでテーブルをパーティション分割し、クエリにパーティションフィルターを設定することでスキャン対象データ量を削減する
- B. すべてのデータを1つの大きなテーブルに保存し、SELECT * でフルスキャンする
- C. クエリコスト削減のため、BigQueryの使用を停止しCloud Spannerに切り替える
- D. すべての過去データをCloud StorageのColdlineに移行し、必要に応じてBigQueryにロードする
解答と解説を見る
正解: A
BigQueryはオンデマンドクエリのコストがスキャンするデータ量に比例するため、日時フィールドによるパーティション分割(テーブルパーティショニング)を使い、クエリでパーティションフィルターを指定することでスキャン範囲を「過去3ヶ月」などに限定でき、コストを大幅削減できる。フルスキャンは最もコストが高い。ColdlineはアーカイブストレージでBigQueryへの毎日ロードは手間とコストがかかる。SpannerはOLTPデータベースでOLAP大規模分析には不向きかつ高コスト。