永続型およびゼロコピー型データ取り込みオプションの比較
取り込みパイプラインを設計する前に、ウェアハウスやアプリケーションからのデータをBrazeにどのように届けるか(ユーザープロファイルにコピーするか、セグメンテーションのためにその場でクエリするか、キャンバスに一時的に渡すか)を選択します。
この例について
MovieCanonは架空の映画ストリーミングサービスです。顧客データ、チケットデータ、視聴データをウェアハウスに集約しています。データチームは、3つの一般的なニーズに対応するために、Brazeへのデータ供給方法を決定する必要があります。
- プロファイルデータ: Brazeユーザープロファイルに永続的に保持されるロイヤルティティア、生涯価値、ジャンルやフォーマットの嗜好属性。
- オーディエンス構築: すべてのカラムをBrazeにコピーせず、ウェアハウステーブルからSQLで定義するセグメント。
- トリガーメッセージング: プロファイルに永続化する必要のない行単位のパーソナライゼーションと共にキャンバスにエントリするウェアハウス行。
Brazeは4つの主要な取り込みパスを提供しています。標準Cloud Data Ingestion(CDI)同期と/users/track APIはどちらもプロファイルにデータを永続化します。CDIセグメント(Connected Sources)とCDIキャンバストリガーはゼロコピーオプションで、ウェアハウスデータはウェアハウスに残り、Brazeユーザープロファイルには書き込まれません。
アーキテクチャの計画、スループットの見積もり、または開発チームやマーケティングチームへのトレードオフの説明を行う際にこの比較を活用してください。各オプションの統合設定ガイドの代わりにはなりません。
考慮事項
- Cloud Data Ingestionは包括的な機能です。標準CDI同期はBrazeプロファイルにデータをコピーします(
/users/trackと同様)。CDIセグメントとCDIキャンバストリガーはウェアハウスデータをその場に保持し、Brazeユーザープロファイルには書き込みません。 - CDI定期同期は15分ごとから月1回まで実行できます。15分より高い頻度が必要な場合は、カスタマーサクセスマネージャーに連絡するか、REST API取り込みを使用してください。Braze Cloud Data Ingestionを参照してください。
- CDIキャンバストリガーは、そのエンドポイントへの他のトラフィックと
/canvas/trigger/sendREST APIレート制限を共有します。/users/trackには独自の制限とバッチルールがあります。デフォルトの制限は引き上げ可能です。設定 > APIと識別子 > APIの制限に移動し、APIレート制限を参照してください。 - Connected SourcesとCDIセグメントエクステンションはウェアハウスでクエリを実行します。ウェアハウスのコンピューティングコストが発生しますが、Brazeはそれらのクエリに対してデータポイントを記録しません。Connected Sourcesを参照してください。
設定
ステップ1: ユースケースを取り込みパスにマッピングする
目標を推奨される取り込みパスと、そのパスがBrazeプロファイルに書き込むかどうかに対応付けます。
| 目標 | 推奨パス | プロファイルへの書き込み |
|---|---|---|
| ウェアハウスから属性、イベント、購入、またはカタログアイテムを永続化する | 標準CDI同期 | あり(データはBrazeプロファイルまたはカタログにコピーされます) |
| ソーステーブルをBrazeにコピーせずにウェアハウスSQLからオーディエンスを構築する | CDIセグメント(Connected Sources) | なし(メンバーシップのみ) |
| プロファイルに永続化すべきでないウェアハウス行コンテキストでユーザーをキャンバスにエントリさせる | CDIキャンバストリガー | なし(一時的なキャンバスコンテキストプロパティ) |
| アプリ、サーバー、またはストリーミングパイプラインからほぼリアルタイムでデータをプッシュする | /users/track(またはSDK) |
あり(データはプロファイルに永続化されます) |
ステップ2: 永続性、レイテンシー、スループットを比較する
各パスがデータレジデンシー、レイテンシー、スループット、ユーザー作成をどのように処理するか比較します。
| ディメンション | 標準CDI同期 | CDIセグメント | CDIキャンバストリガー | /users/track |
|---|---|---|---|---|
| 動作内容 | ウェアハウステーブルのスケジュール読み取り。属性、イベント、購入、ユーザー削除、またはカタログを書き込みます | Brazeがウェアハウスにクエリを実行しSQLセグメントエクステンションを作成します | ウェアハウス行がキャンバスコンテキストプロパティとして行コンテキストを持つキャンバスエントリをトリガーします | アプリ、サーバー、またはストリーミングパイプラインが属性、イベント、購入をプロファイルに書き込みます |
| データレジデンシー | Brazeプロファイルにコピーおよび永続化されます | ウェアハウスに残ります。プロファイルには何も書き込まれません | キャンバスコンテキストプロパティは一時的で、プロファイルには永続化されません | Brazeプロファイルにコピーおよび永続化されます |
| 一般的なレイテンシー | リアルタイムではありません。最小15分の同期頻度(ウェアハウスの鮮度も影響します) | リアルタイムではありません。セグメントエクステンションのスケジュールに基づいてリフレッシュされます(ウェアハウスの変更ごとにメンバーシップは更新されません) | リアルタイムではありません。同期スケジュールに制限されます(最小15分) | ほぼリアルタイム(非同期処理) |
| スループットの注意事項 | 同期ごとに完全なクエリ結果。Brazeが内部的に/users/track、/users/delete、またはCatalogエンドポイントにバッチ処理します |
Connected Sourceごとにクエリ実行時間上限60分。リクエストあたりのオブジェクト上限なし | /canvas/trigger/sendのレート制限を共有。同期実行あたり約375万キャンバスエントリ |
リクエストあたり最大75オブジェクト(合計)。APIレート制限を参照してください |
| バッチサイズ | CDI側のウェアハウス読み取りにはオブジェクトあたりの上限なし | 該当なし(クエリ出力がメンバーシップを定義します) | 同期実行ごとにウェアハウス行1行につき1キャンバスエントリ | リクエストあたり75属性、イベント、購入の合計(デフォルト) |
| ユーザー作成 | あり(既存のみ更新が設定されていない場合) | なし(クエリ結果内の不明なユーザーは無視されます) | なし(既存のBrazeユーザーのみ) | あり(_update_existing_onlyがtrueでない場合) |
ステップ3: スキーマと識別子の要件を比較する
各パスの必須カラムとサポートされる識別子を比較します。標準CDI同期ごとに1つのデータタイプを設定してください(例: 1つの統合で属性、別の統合でイベント)。
| ディメンション | 標準CDI同期 | CDIセグメント | CDIキャンバストリガー | /users/track |
|---|---|---|---|---|
| 必須カラム/形式 | ユーザー識別子 + UPDATED_AT + PAYLOAD(JSON)(行ごと) |
SQLはexternal_user_idのみを出力する必要があります |
識別子 + UPDATED_AT + PROPERTIES(JSON。空の場合は{}を使用) |
標準/users/trackリクエストボディ |
| サポートされる識別子 | external_id、ユーザーエイリアス、braze_id、メール、または電話番号 |
external_user_idのみ(文字列) |
external_idまたはユーザーエイリアスのみ |
external_id、ユーザーエイリアス、braze_id、メール、または電話番号 |
ステップ4: 選択したパスを実装する
- 標準CDI同期: ウェアハウスのテーブルまたはビューを作成し、Cloud Data Ingestion統合およびテーブル設定に従ってください。
- CDIセグメント: Connected Sourceを追加し、CDIセグメントエクステンションを作成します。
- CDIキャンバストリガー:
PROPERTIESを含むソーステーブルを設定し、宛先キャンバスを構築して起動した後、CDIを使用したゼロコピーパーソナライゼーションに従って同期を作成します。 /users/track: アプリケーションまたはミドルウェアからリクエストを送信します。POST: ユーザーの作成と更新に従ってペイロードをフォーマットしてください。
MovieCanonの一般的なパターンは、夜間のプロファイルエンリッチメントには標準CDI同期、ウェアハウスのみのオーディエンスルールにはCDIセグメント、行レベルのコンテキストを持つチケットステータスや視聴ジャーニーにはキャンバストリガー、リアルタイムのアプリイベントには/users/trackを使用するというものです。