メインコンテンツへスキップ
見出し画像
Photo byakisuke0925

【第581回】 Marketing Cloud Next : データグラフのストリーミング更新

    Nobuyuki Watanabe

    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 に対応できるかを確認した上で選択する ことが重要です。

    今回は以上です。


    次の記事はこちら

    前回の記事はこちら

    私の note のトップページはこちら

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資格に関する実践的な情報を発信しています。これらの記事が、皆さまの学習や日々の業務に少しでもお役に立てば幸いです。