データマート機能では、用途に応じて複数の書き込みモードを選択できます。
本記事では、データと特性に応じた最適な書き込みモードの選定方法を解説します。
※増分更新とSCD Type 2 は現在Google BigQueryのみ
書き込みモード一覧
| 書き込みモード | 概要 |
| 追記 | 既存テーブルにデータを積み上げていく |
| 増分更新 | キーカラムをもとに既存データを更新、新規データを追加 |
| SCD Type 2 | 変更履歴を保持しながらデータを追加 |
| 全件洗い替え | テーブルを再作成して、全データ洗い替え |
書き込みモード選定フローチャート
Q1. レコードを一意に識別できるカラム(複数カラムの組み合わせ可)はありますか?
▶︎ Yes → Q2 へ進む
▶︎ No → Q4 へ進む
Q2. データの変更履歴を保持する必要がありますか?
(例:顧客の住所変更前後のデータを両方残しておきたい場合など)
▶︎ Yes → SCD Type 2
▶︎ No → Q3へ進む
※ SCD Type 2では一意となるカラム(キーカラム)の設定が必須
Q3. 過去に転送済みのレコードが後から修正される可能性はありますか?
▶︎ 上書きしたい → 増分更新(上書き)
- 既存のレコードをDELETEした後、INSERTする
▶︎ 既存レコードは変更したくない → 増分更新(スキップ)
- 新しいレコードのみをINSERTする
Q4. 過去に転送済みのレコードが後から修正される可能性はありますか?
▶︎ Yes → 全件洗い替え
- 一意となるカラムがないため、どのレコードが転送対象か特定できないので、毎回全てのレコードを入れ替える必要がある
▶︎ No → 追記
- 過去に転送されたレコードに更新がない場合、転送対象にする必要はないため、
前回転送時から追加されたレコードのみを転送対象にすることで重複なく転送が可能
コメント
0件のコメント
記事コメントは受け付けていません。