
【第581回】 Marketing Cloud Next : データグラフのストリーミング更新
Marketing Cloud Next / Data 360 の Summer '26 新機能リリースでは、データグラフの更新周期において、これまでの 30 分、1 時間、4 時間、Daily などに加えて、Streaming を選択できるようになりました。

【選択可能な更新周期】
Every 30 Minutes
Every 1 Hour
Every 4 Hours
Daily
Weekly
Monthly
Streaming
この Streaming を選択すると、一定間隔でデータグラフ全体を更新するのではなく、データグラフが参照している DMO の変更を検知し、影響を受ける部分だけを差分更新 します。これは、リアルタイム更新ではありませんが、数分~数十分以内に反映 されるとされています。
例えば、Website Engagement にすでに 10,000 レコードあり、新しく 10 レコード追加された場合、10,010 レコードすべてを再処理するのではなく、新しく追加されたレコードを起点として必要な部分だけが更新されます。
ただし、実際にクレジット消費の計算対象となるレコード数は、この 10 レコードより多くなる場合があります。 データグラフのリレーション構造や変更内容によって、1 件の変更が複数のデータグラフレコードの更新につながる場合があるためです。
また、通常のデータグラフとは異なり、Streaming 更新されたデータグラフでは、日次の「フル更新」が発生しません。
そのため、データグラフ全体に対して変更されるデータが少ない場合は、処理量やコストを抑えられる可能性があります。
たとえば、データグラフ全体では 1,000 万レコードを保持しているものの、1 日に新規追加・変更されるレコードが 1,000 件程度しかないケースです。
この仕組みは、ID 解決の増分処理をイメージすると分かりやすいかもしれません。ID 解決でも、初回処理後は毎回すべてのソースレコードを再処理するのではなく、新規・変更されたレコードを中心に増分処理します。
Streaming 更新もこれと似た考え方で、データグラフ全体を毎回作り直すのではなく、DMO の変更を起点として影響範囲のみを更新する仕組みです。
すべて Streaming にすればよい?
ここまでを見ると、「それなら、すべて Streaming にすればよいのでは?」と思うかもしれません。
ただし、Streaming 更新されたデータグラフにはいくつか重要な制約があります。主なものは以下です。
N:1 のリレーションを利用できない
フィルター条件を利用できない
ビルド後にスケジュールからストリーミングへは切り替えられない
Streaming 更新されたデータグラフでは、編集ができない
→ 下記の通り、Edit のアクションが表示されません

そのため、Streaming はスケジュール更新されているデータグラフの単純な上位互換ではありません。特に一度作成したら「編集ができない」という点は、運用においては致命的ですね。
N:1 のリレーションとは
Streaming 更新されたデータグラフでは、参加する DMO 間に N:1 のリレーションを含めることができません。
N:1 とは、複数のレコードが 1 つのレコードを参照する関係です。
たとえば、
Individual → Account
という関係で、複数の Individual が同じ Account に所属している場合、
Individual A → Account X
Individual B → Account X
Individual C → Account X
となり、Individual から Account を見ると N:1 になります。
このようなリレーションを Data Graph に含める場合、Streaming は利用できません。グレーアウトされており、選択できません。

つまり、Streaming を利用する場合は、単に更新頻度だけを見るのではなく、データグラフのリレーション構造そのものを確認する必要があります。
フィルター条件も利用できない
もう 1 つ大きな制約が、データグラフのフィルター条件を利用できないことです。(※但し、ソートとリミットは利用可能です。)

Scheduled 更新されたデータグラフでは、たとえば特定の条件に一致するレコードだけをデータグラフに含める設定ができます。
Streaming では、このような任意のフィルター条件を設定できません。これも Streaming が選択できない結果となります。

そのため、対象データを細かく絞り込みたいデータグラフでは、Streaming ではなく Scheduled を選択する必要があります。
いかがでしたでしょうか。
Streaming 更新されたデータグラフは、DMO の変更を検知して影響を受けるデータだけを数分以内に更新できるため、非常に便利な仕組みです。
特に、データグラフ全体に対して変更されるレコードが少ない場合は、日次 のフル更新が不要になることで、処理量やコストを抑えられる可能性もあります。
一方で、N:1 リレーション やフィルター条件を利用できない、また、オブジェクトや項目の追加ができない という重要な制約があります。
そのため、「更新を速くしたいから Streaming にする」のではなく、データグラフの構造が Streaming に対応できるかを確認した上で選択する ことが重要です。
今回は以上です。