Snowflake
Snowflakeは、Software-as-a-Service(SaaS)として提供される専用SQLクラウドデータウェアハウスです。Snowflakeのデータウェアハウスは、従来のデータウェアハウス製品よりも高速で使いやすく、極めて高い柔軟性を備えています。Snowflake独自の特許取得済みアーキテクチャにより、すべてのデータを集約し、迅速な分析を可能にし、すべてのユーザーにデータドリブン型のインサイトを提供することが容易になります。
BrazeはSnowflakeとの2つの統合を提供しています。これらを組み合わせることで、BrazeとSnowflake環境間の完全な双方向データパイプラインを実現します。
統合の選択
データ共有(BrazeからSnowflakeへ)
Snowflakeのセキュアデータ共有を使用すると、Snowflakeインスタンスから直接、Brazeのエンゲージメントおよびキャンペーンデータに安全かつリアルタイムでアクセスできます。アカウント間でデータがコピーまたは転送されることはありません。共有はすべて、Snowflake独自のサービスレイヤーとメタデータストアを通じて行われます。
次のような場合はデータ共有を使用します。
- Snowflake SQLを使用してBrazeのイベントデータやキャンペーンデータをクエリしたい
- 複雑なレポートを作成し、アトリビューションモデリングを実行したい
- BrazeのデータをSnowflakeウェアハウス内の他のデータと結合したい
- チャネル、業界、デバイスプラットフォームをまたいでエンゲージメントデータをベンチマークしたい
設定手順については、Snowflakeデータ共有を参照してください。
クラウドデータ取り込み(SnowflakeからBrazeへ)
クラウドデータ取り込み(CDI)を使用すると、Snowflakeインスタンスから直接Brazeにデータを同期できます。これにより、Brazeのユーザー属性、イベント、購入を、信頼できる情報源であるデータウェアハウスと常に最新の状態に保つことができます。
次のような場合はクラウドデータ取り込みを使用します。
- SnowflakeからBrazeのユーザープロファイルにユーザー属性を同期したい
- SnowflakeからBrazeにイベントデータや購入データを送信したい
- ウェアハウス内で行われるデータ変換とBrazeを同期させておきたい
- SnowflakeからBrazeへのカスタムETLパイプラインの構築と保守を避けたい
Snowflakeのデータ共有の詳細については、Introduction to Secure Data Sharingを参照してください。
Snowflakeによるアイデンティティ解決
Snowflakeは、Identity Resolution Data(IDR)ソリューションアクセラレーターを提供しています。これを使用すると、Snowflake環境内でファーストパーティおよびサードパーティのアイデンティティ解決グラフを直接構築できます。このソリューションは、決定論的マッチング、ファジーマッチング、確率的マッチングおよび機械学習(ML)マッチング、大規模言語モデル(LLM)による判定を組み合わせて、複数のデータソースにまたがる顧客のアイデンティティを解決します。
BrazeをSnowflake IDRと併用する場合は、次のように進めます。
- データ共有を使用して、BrazeのエンゲージメントデータとキャンペーンデータをSnowflakeインスタンスに送信します。送信したデータは、アイデンティティ解決のソースになります。
- IDRソリューションアクセラレーターを使用して、Snowflakeでアイデンティティ解決グラフを構築します。その際、Brazeのデータを他の顧客タッチポイントと組み合わせて取り込みます。
- Cloud Data Ingestionを使用して、解決済みのアイデンティティをBrazeに同期します。これにより、ユーザープロファイルを統合された最新の状態に保てます。
このワークフローにより、すべてのシステムにわたって重複のない単一の顧客ビューを維持しながら、そのデータをBrazeのキャンペーンやメッセージングで活用できます。
SnowflakeのIDRソリューションアクセラレーターの使用を開始するには、Snowflakeのアカウントチームにご相談いただくか、IDRソリューションアクセラレーターのドキュメントを参照してください。
前提条件
この機能を使用する前に、以下を完了する必要があります。
| 要件 | 説明 |
|---|---|
| Braze へのアクセス | Braze でこの機能にアクセスするには、Braze のアカウントマネージャーまたはカスタマーサクセスマネージャーにお問い合わせください。 |
| Braze ワークスペースの権限 | データ共有を表示するには Currents 統合の表示が必要です。データ共有を作成、更新、または削除するには Currents 統合の編集が必要です。 |
| Snowflake アカウント | admin 権限を持つ Snowflake アカウント。HIPAA 対象外の顧客の場合、Snowflake Standard Edition または Enterprise Edition がサポートされています。HIPAA に準拠したデータ共有には、Business Critical Edition が必要です。 |
セキュアデータ共有を設定する
Snowflakeでは、データ共有はデータプロバイダーとデータ消費者の間で行われます。この場合、Brazeアカウントはデータシェアを作成して送信するためデータプロバイダーとなり、Snowflakeアカウントはデータシェアを使用してデータベースを作成するためデータ消費者となります。詳細については、Snowflake: Consuming Shared Dataを参照してください。
ステップ1: Brazeからデータシェアを送信する
- Brazeで、パートナー連携 > データ共有に移動します。
- Snowflakeアカウントの詳細とロケーターを入力します。アカウントロケーターを取得するには、宛先アカウントで
SELECT CURRENT_ACCOUNT()を実行します。 - CRR共有を使用している場合は、クラウドプロバイダーとリージョンを指定します。
- 完了したら、Create Datashareを選択します。これにより、データ共有がSnowflakeアカウントに送信されます。
ステップ2: Snowflakeでデータベースを作成する
- 数分後、Snowflakeアカウントでインバウンドデータシェアを受信します。
- インバウンドデータシェアを使用して、テーブルを表示およびクエリするためのデータベースを作成します。例:
CREATE DATABASE <name> FROM SHARE <provider_account>.<share_name>
- 新しいデータベースをクエリするための権限を付与します。

Brazeダッシュボードでシェアを削除して再作成した場合、インバウンドシェアをクエリするには、以前に作成したデータベースを削除し、CREATE DATABASE <name> FROM SHARE <provider_account>.<share_name> を使用して再作成する必要があります。
複数のワークスペースから同じSnowflakeアカウントにデータを共有している場合は、複数ワークスペース構成の管理に関するガイダンスについてSnowflake データ共有に関するよくある質問を参照してください。
使用方法と可視化
データシェアがプロビジョニングされたら、受信したデータシェアからデータベースを作成する必要があります。これにより、共有されたすべてのテーブルがSnowflakeインスタンスに表示され、インスタンスに保存されている他のデータと同様にクエリを実行できるようになります。ただし、共有データは読み取り専用です。クエリの実行のみが可能で、変更や削除は一切できません。
Currentsと同様に、Snowflakeセキュアデータ共有を使用して次のことができます。
- 複雑なレポートの作成
- アトリビューションモデリングの実行
- 社内での安全な共有
- 未加工のイベントデータやユーザーデータをCRM(Salesforceなど)にマッピング
- その他多数
利用可能なテーブルと列の完全なリストについては、SQLテーブルリファレンスを参照してください。Snowflakeデータ共有には、このリファレンスに記載されているすべてのテーブルに加えて、スナップショット、キャンペーンとキャンバスの変更ログ、エージェントコンソールイベント、メッセージ再試行イベントに関するSnowflake専用のテーブルが含まれます。
未加工のテーブルスキーマをテキストファイルとしてダウンロードすることもできます。
ユーザー ID スキーマ
ユーザー ID に関するBrazeとSnowflakeの命名規則には、次の違いがあることに注意してください。
| Brazeスキーマ | Snowflakeスキーマ | 説明 |
|---|---|---|
braze_id |
"USER_ID" |
Brazeによって自動的に割り当てられる一意の識別子です。 |
external_id |
"EXTERNAL_USER_ID" |
顧客によって設定される、ユーザープロファイルの一意の識別子です。 |
重要な情報と制限事項
破壊的変更と非破壊的変更
非破壊的変更
非破壊的変更はいつでも発生する可能性があり、一般的に追加の機能を提供します。非破壊的変更の例は以下のとおりです。
- 新しいテーブルまたはビューの追加
- 既存のテーブルまたはビューへのカラムの追加

新しい列の追加は非破壊的変更とみなされるため、BrazeではSELECT *クエリを使用せず、各クエリで必要な列を明示的に指定することを強くお勧めします。または、列を明示的に指定したビューを作成し、テーブルを直接クエリする代わりにそのビューをクエリする方法もあります。
破壊的変更
可能な場合、破壊的変更の前には告知と移行期間が設けられます。破壊的変更の例には以下が含まれます:
- テーブルまたはビューの削除
- 既存のテーブルまたはビューからのカラムの削除
- 既存のカラムの型またはNULL許容性の変更
Snowflakeリージョン
Brazeは現在、すべてのユーザーレベルのデータをSnowflakeのAWS US East-1、EU-Central(フランクフルト)、AP-Northeast-1(東京)、AP-Southeast-2(シドニー)、AP-Southeast-3(ジャカルタ)の各リージョンでホストしています。これらのリージョン以外のユーザーに対しては、任意のAWS、Azure、またはGCPリージョンでSnowflakeインフラをホストしている共通の顧客にデータ共有を提供できます。
データリテンション
リテンションポリシー
2年以上前のデータはすべてアーカイブされ、長期ストレージに移動されます。アーカイブプロセスの一環として、すべてのイベントは匿名化され、個人を特定できる情報(PII)を含む機密フィールドは削除されます(これにはpropertiesのような任意のPIIフィールドも含まれます)。アーカイブされたデータには引き続きuser_idフィールドが含まれるため、すべてのイベントデータにわたってユーザーごとの分析を行えます。
各イベントの直近2年間のデータは、対応するUSERS_*_SHAREDビューでクエリできます。さらに、各イベントにはUSERS_*_SHARED_ALLビューがあり、これをクエリすると匿名化されたデータと匿名化されていないデータの両方が返されます。
履歴データ
Snowflakeにおける履歴イベントデータのアーカイブは、2019年4月まで遡ります。BrazeがSnowflakeにデータを保存し始めた最初の数か月間に製品の変更が行われたため、その期間のデータの一部は見た目が若干異なったり、null値が含まれていたりする場合があります(当時は利用可能なすべてのフィールドにデータを渡していなかったためです)。2019年8月より前のデータを含む結果は、想定と若干異なる可能性があると考えておくことをお勧めします。
一般データ保護規則(GDPR)への準拠
Braze に保管されているほぼすべてのイベントレコードには、ユーザーの個人を特定できる情報 (PII) を表すいくつかのフィールドが含まれています。一部のイベントには、メールアドレス、電話番号、デバイスID、言語、性別、および位置情報が含まれる場合があります。ユーザーの削除依頼がBrazeに送信された場合、これらのユーザーに属するイベントのPIIフィールドを無効化します。この方法では、イベントの履歴レコードは削除されませんが、イベントが特定の個人に結び付けられることは一切ありません。
共有データのクエリ:TIMEとクエリパフォーマンス
データ共有ビュー(例:USERS_BEHAVIORS_CUSTOMEVENT_SHARED)のイベントデータは、TIMEフィールドでクラスタ化されています。イベントが発生した日時でフィルタリングする場合は、TIMEを優先的にフィルターとして使用してください。クラスタリングはイベント時刻に沿って行われているため、TIMEを使用して行を絞り込むクエリは、SF_CREATED_ATでフィルタリングするクエリよりも一般的にパフォーマンスが高くなります。
| フィールド | 意味 |
|---|---|
TIME |
イベントが発生した時点のUnixタイムスタンプ。発生日時でフィルタリングする場合は、こちらを優先してください。 |
SF_CREATED_AT |
行がSnowflakeに読み込まれた時点のタイムスタンプ(取り込み時刻)。 |
クエリの速度、パフォーマンス、コスト
データに対して実行するクエリの速度、パフォーマンス、コストは、データのクエリに使用するウェアハウスのサイズによって決まります。分析のためにアクセスするデータ量によっては、クエリを成功させるためにより大きなウェアハウスサイズを使用する必要がある場合もあります。Snowflakeには、ウェアハウスの概要やウェアハウスに関する考慮事項など、使用するサイズを判断するための優れたリソースが用意されています。
Snowflakeの設定時に参照できるクエリ例については、サンプルクエリおよびETLイベントパイプラインの設定の例を参照してください。
設定手順については、クラウドデータ取り込み:データウェアハウスの統合を参照してください。