Skip to main content

はじめに

Snowflake は、大量の構造化データおよび半構造化データを、高いスケーラビリティと効率性をもって保存、分析、処理できるデータプラットフォームです。独自のアーキテクチャにより、Snowflake を使用すると、組織はデータを統合し、迅速な分析を行い、すべてのユーザーがアクセスできる価値あるデータドリブンなインサイトを得ることができます。

MoEngage × Snowflake

MoEngage × Snowflake 連携を使用すると、Snowflake インスタンスと MoEngage アプリの間に直接接続を設定し、定期的にデータを同期できます。同期を定期的に実行するスケジュールを定義でき、同期の頻度は最短で1時間ごと、最長で月に1回まで設定できます。同期が実行されると、MoEngage はデータウェアハウスインスタンスに直接接続し、指定されたテーブルからすべての新しいデータを取得して、MoEngage ダッシュボード上の対応するデータを更新します。

メリット

連携にかかる時間の短縮

  • MoEngage は Snowflake と直接連携するため、適切な ETL ツールを探す必要がなくなります。
  • 長く複雑な ETL パイプラインは、実際のデータフローなしで MoEngage がデータに直接アクセスできる1回限りの連携設定に置き換えられます。
  • これにより、技術チームへの依存が大幅に軽減されます。

より高速なデータ処理

  • Snowflake インフラストラクチャの能力により、膨大な量のデータをほぼリアルタイムで保存、処理、クエリできます。
  • 元のスキーマの変更は、MoEngage 側で設定を変更することなく即座に反映されます。これは従来の ETL パイプラインに比べて大きな利点です。
  • ETL ツールや外部クラウドプロバイダーが不要なため、インポートのコストは従来のデータパイプラインよりも大幅に低くなります。

連携のユースケース

  • Snowflake からリアルタイムのオーディエンスを同期する
  • Snowflake アカウントのユーザーデータを使用して、MoEngage のユーザーを最新の状態に保つ。
  • Snowflake アカウントから MoEngage にイベントデータを直接インポートする。
  • MoEngage にユーザーをインポートし、カスタムセグメントを使用してリターゲティングする。

連携

前提条件新しいユーザー、スキーマ、またはテーブルを作成するための十分な権限を持つ Snowflake アカウントがあることを確認してください。

新しい Snowflake 接続を設定する

Snowflake からインポートまたはエクスポートするには、まず MoEngage を Snowflake データウェアハウスに接続する必要があります。新しい Snowflake 接続を作成するには、次の手順を実行します。
  1. MoEngage ダッシュボードで、App Marketplace に移動します。
  2. “Snowflake” を検索します。 App Marketplace で Snowflake を検索
  3. Integrate タブに移動し、+ Add Connection をクリックします。
  4. Snowflake データウェアハウスの詳細を入力します。 Snowflake 接続フォーム
    1. 認証方式として Key を選択します。
    2. Generate Key をクリックすると、MoEngage に公開鍵が表示されます。この公開鍵をデータベースユーザーに追加する必要があります。設定するには、Snowflake のヘルプドキュメントに記載されている手順に従ってください。 キー生成 UI
    3. このキーをデータベースユーザーに追加したら、Test connection をクリックします。MoEngage が認証情報の検証を試みます。MoEngage はキーのローテーションもサポートしています。IT ポリシーでキーのローテーションが必要な場合は、次の手順で実行できます。
    4. App Marketplace > Snowflake > Integrate に移動し、接続を編集します。
    5. 新しいキーを生成するアイコンをクリックします。 新しいキーの生成アイコン
    6. 確認画面が表示されます。手順をよくお読みください。新しく生成したキーで接続を保存すると、MoEngage は以前のキーを使用しなくなります。ローテーションを正しく機能させるには、新しいキーがデータベースユーザーに2つ目の RSA キーとして関連付けられていることを確認する必要があります (キーのローテーションに関する Snowflake のヘルプドキュメントを参照してください)。接続の保存後に新しいキーが関連付けられていない場合、インポートとエクスポートが中断される可能性があります。 キーローテーションの確認
    7. 新しいキーが生成されて表示されます。この時点で、Snowflake のヘルプドキュメントに記載されている手順に従って、この新しいキーをコピーし、Snowflake データベースユーザーに追加のキーとして関連付けることを強くお勧めします。新しいキーを関連付けたら、ローテーションを完了するために接続のテストを成功させる必要があります。
    8. 新しいキーの生成後、編集フォームを閉じた場合や Connect をクリックしなかった場合は、古い (既存の) キーが引き続き以前と同様に使用され、新しく生成されたキーはシステムから削除されます。
  5. Snowflake 接続を設定すると、それを使用して MoEngage でさまざまなインポートとエクスポートを設定できます。
Snowflake インスタンスがパブリックではなく AWS 上にある場合は、MoEngage の AWS アカウントとの間で AWS Private Link を設定することをお勧めします。詳細については、アカウントマネージャーにお問い合わせください。

サポートされている日時形式

Snowflake を使用した Warehouse Segments

Snowflake は Warehouse Segments で利用できるようになりました。詳細については、Warehouse Segments を参照してください。

Snowflake から MoEngage にユーザーとイベントをインポートする

アカウントで MoEngage × Snowflake のインポートを設定するには、Snowflake インポートガイドをお読みください。 Snowflake はウェアハウスセグメントで利用できるようになりました。詳細はこちら。

MoEngage から Snowflake にイベントをエクスポートする

前提条件
  • Snowflake インスタンス、ロール、ポリシーを作成/編集するための適切な権限を持つ Snowflake アカウントがあることを確認してください。新しいユーザーの作成は任意ですが、Snowflake データベースで新しいユーザーを作成するアクセス権が必要です。
  • システムで IP ホワイトリストが必要な場合は、MoEngage の IP をホワイトリストに登録する必要があります。詳細については、こちらを参照してください。
  • App Marketplace に Snowflake 接続があることを確認してください。
  • Snowflake へのエクスポートは Streams アドオンの一部です。アカウントで有効にするには、担当の MoEngage CSM (カスタマーサクセスマネージャー) にお問い合わせください。

ステップ 1: ユーザーに割り当てられたロールに必要な権限があることを確認する

MoEngage が Snowflake データベースにデータを書き込めるように、データベースへの WRITE アクセス権が必要です。これらの権限を既存のデータベースユーザーに付与するか、MoEngage 専用の新しいデータベースユーザーを作成するかを選択できます。
次の値を変更することを忘れないでください。
  1. <YOUR_WAREHOUSE_NAME> - クエリの実行時に MoEngage に使用させるウェアハウスの名前。
  2. <YOUR_DATABASE_NAME> - データのインポート元となるデータベースの名前。
  3. <YOUR_PASSWORD> - 新しく作成したデータベースユーザーに強力なパスワードを設定します。

ステップ 2: App Marketplace で新しいエクスポートを作成する

  • エクスポートされるイベントと属性の完全なリストについては、Data Exports Glossary を参照してください。
  • エクスポートされるイベントの event_time は常に UTC であることにご注意ください。
Snowflake エクスポートの設定 MoEngage ダッシュボードで、App Marketplace > Snowflake に移動します。
  1. Integrate > Add Integration をクリックします。
  2. Snowflake 接続を選択します。
  3. MoEngage が新しいテーブルを作成し、イベントをエクスポートする先のスキーマを選択します。
  4. Snowflake にエクスポートするイベントと追加のユーザープロパティを選択します。
  5. Save Export をクリックします。
MoEngage は、新しく作成されたテーブルへのイベントの書き出しを1時間ごとに開始します。

エクスポートのプロセスと頻度

エクスポートを保存すると、MoEngage はスキーマに宛先テーブルを作成します。その後、新しいイベントデータが1時間間隔でこの同じテーブルに追加されます。
  • 初回のアクション: 最初のエクスポートがトリガーされたときに、MoEngage がテーブルを作成します。
  • 定期的なアクション: MoEngage は1時間ごとに同じテーブルにデータを追加 (追記) します。

テーブル構造のサンプル

MoEngage は、次の形式を使用してスキーマに単一のテーブルを作成します。 moe_events_<table_creation_timestamp>
このテーブルは接続ごとに1回作成されます。1つの接続で設定された1時間ごとのエクスポートとさまざまなイベントタイプはすべて統合され、この同じテーブルに追加されます。
テーブルの全体的な構造は、すべてのタイプのイベントで固定されています。エクスポートされる新しいユーザープロパティまたはイベント属性は、それぞれ user_attributes 列または event_attributes 列に含まれます。分析しやすいように、すべてのイベントは、イベント名やイベント時刻などの必要な情報を含む単一のテーブルに統合されます。

エクスポート頻度

MoEngage は1時間間隔でデータを書き出します。

よくある質問

通常、アカウントで自動データエクスポートが設定され、データが表示され始めるまでに最大30分かかります。
はい。後から新しいイベントをエクスポートする必要がある場合は、いつでも App Marketplace で設定を編集し、新しいイベントをエクスポートに追加できます。
現時点では、Automated Data Exports を使用して過去のデータをエクスポートすることはできません。設定後、エクスポートを有効にした時点からの各イベントのデータが表示されるようになります。
ご利用の料金プランにまだ含まれておらず、後から有効にする必要がある場合は、カスタマーサクセスマネージャーと協力して料金プランに含める必要があります。MoEngage が毎月データウェアハウス/パートナー/API に配置するデータ量に応じて、追加料金が発生する場合があります。
いいえ。Data Exports は主にイベントをほぼリアルタイムでエクスポートするために構築されており、MoEngage のユーザー属性は非同期で更新されるため、現時点ではエクスポートにおけるユーザー属性の最新値を保証することはできません。