Data Streamの詳細設計 — Batch・Streaming・取り込み頻度の選択
導入
DC-03で学んだData Streamは「データの入口」でしたが、実はStream種別の選び方が取り込み速度やデータ構造に大きく影響します。Batch・Streaming・Profileという3つの種別を使い分けることで、ビジネスの要件に合った取り込み設計が実現できます。
くわしく知ろう
Data Streamには主に3種類のタイプが存在します。「Batch Data Stream(バッチデータストリーム)」は、一定間隔でまとめてデータを取り込む方式です。CSVファイルやAmazon S3からの取り込みがこれに当たり、「Refresh Interval(取り込み頻度)」の設定によって1時間ごと・1日ごとなどのスケジュールで実行されます。大量の履歴データや定期更新のデータに適しています。
「Streaming Data Stream(ストリーミングデータストリーム)」は、Webサイトのクリックやアプリのイベントなど、発生した瞬間にリアルタイムでデータを送り込む方式です。遅延をミリ秒単位に抑えられるため、購買直後のレコメンドや即時のパーソナライゼーションが求められる場面に向いています。Batch・Streaming以外に「Profile Data Stream(プロファイルデータストリーム)」があり、これはSalesforce製品のオブジェクトデータ(Sales CloudのContact等)と連携する際に使われる専用タイプです。
いずれのStream種別でも、設定時に重要な役割を果たすのが「Primary Key(プライマリキー)」です。Primary Keyはレコードを一意に識別するフィールドで、同じキー値のレコードが再度取り込まれた場合に上書き(Upsert)処理が行われます。これにより重複データの発生を防ぎつつ最新状態を保持できます。取り込まれたデータは「DLOスキーマ」に格納され、フィールドマッピングを通じてDMOへ変換されます。取り込み先の「Data Space(データスペース)」を指定することで、複数のビジネス領域にデータを分離管理することも可能です。
具体例
たとえば夜間にERPから前日の注文データをまとめて取り込む場合はBatch Data Streamが適しています。一方、ECサイトで顧客がカートに商品を追加した瞬間のイベントを取り込み、リアルタイムレコメンドに活用したい場合はStreaming Data Streamを使います。両方を組み合わせて設計するケースも多くあります。
まとめ・試験ポイント
- Batch Data Stream=スケジュール実行でまとめてデータを取り込む方式(CSV・S3等)
- Streaming Data Stream=イベント発生時にリアルタイムでデータを送り込む方式
- Profile Data Stream=Salesforce製品オブジェクトと連携する専用Stream種別
- Refresh Interval=Batch Data Streamの取り込み頻度設定(1時間・1日単位等)
- Primary Key=レコードを一意に識別するフィールド。重複防止とUpsert処理に使用
- Data Space=取り込み先を指定してデータを分離管理する単位
- 試験ではリアルタイム要件にはStreamingを選ぶ判断とPrimary Keyの目的が問われやすい
Data Cloudの全体像をさらに深く理解しよう。5層アーキテクチャ・認定資格・導入時の注意点までを体系的に解説した記事を用意しています。
Salesforce Data Cloud 解説記事を読む