Skip to main content

概要

OneSignal + Greenplumインテグレーションにより、Greenplumデータベースからカスタムイベントを同期して、ユーザー行動に基づいた自動化されたメッセージングキャンペーンとJourneysをトリガーできます。 Greenplumは、大規模な分析ワークロード向けに設計された、PostgreSQLベースの超並列処理(MPP)データベースです。

要件

  • アウトバウンドメッセージイベント用のEvent Streamsへのアクセス(プランの制限と超過料金が適用されます)
  • インバウンドイベント同期用のCustom Eventsへのアクセス(プランの制限と超過料金が適用されます)
  • 更新されたアカウントプラン(無料アプリでは利用できません)

Greenplum

  • ネットワークアクセスを持つGreenplumインスタンス
  • 適切な権限を持つデータベースユーザー
  • 構造化された行動データを含むイベントテーブル

同期エンジンと権限

OneSignalは、Greenplumのテーブルとビューからデータを読み取り、それを同期して自動化されたメッセージングキャンペーンをトリガーします。データベースへの負荷を制限するために、OneSignalは状態追跡テーブルを維持し、最後の同期以降に変更されたデータのみを同期できるようにします(増分同期)。Greenplum接続を構成する際、状態追跡の処理方法を決定する同期エンジンを選択します。 Basic Sync Engineは、OneSignalが所有するインフラストラクチャに状態追跡テーブルを維持し、読み取りアクセスのみが必要で、構成が簡単です。 Advanced Sync Engineは、独自のGreenplumインスタンス内の専用スキーマに状態追跡テーブルを維持することで、パフォーマンスを向上させます。

セットアップ

1

Censusユーザーを作成する

OneSignalが使用する専用データベースユーザーを作成します:
2

同期エンジンを選択して権限を構成する

Basic Sync Engine(読み取り専用アクセス)の場合:イベントデータスキーマへの読み取りアクセスを付与します。<your schema>をスキーマ名に置き換えます:
Advanced Sync Engine(パフォーマンスの向上)の場合:最初に上記のBasic Sync Engineの手順を完了してから、次を追加します:
3

OneSignalに接続する

OneSignalで、Data > Integrationsに移動し、Add Integrationをクリックします。Greenplumを選択して、次を提供します:
  • **Host:**Greenplumマスターホスト
  • **Port:**5432(またはカスタムポート)
  • **Database:**データベース名
  • Username:CENSUS
  • **Password:**ステップ1のパスワード
  • **Sync Engine:**ステップ2に基づいてBasicまたはAdvancedを選択します

イベントデータマッピング

をOneSignalのカスタムイベント形式にマッピングします:

イベントテーブルスキーマの例


処理モード

テーブルモード

Greenplumデータベースから直接テーブルまたはビュー全体を同期します。OneSignalは列をイベントフィールドに自動的にマッピングします。

SQLクエリモード

イベントデータを変換するためのカスタムPostgreSQL互換クエリを作成します:

MPPクエリの最適化

イベントクエリが分散実行用に最適化されていることを確認して、Greenplumの並列処理を活用します。適切な分散キーを使用し、パフォーマンスを向上させるためにセグメント間のデータ移動を回避します。

高度なネットワーク構成

OneSignalは、リージョン制約、IPアドレス許可リスト、またはSSHトンネリングなどの高度なネットワーク制御を使用しているGreenplumインスタンスに正常に接続できます。 すべての接続にTLS v1.2以降を使用するようにGreenplumインスタンスを構成することをお勧めします。

制限事項

  • 大規模な分析クエリはクラスタのパフォーマンスに影響を与える可能性があります
  • JSON/JSONB操作は分散用に最適化する必要があります
  • パフォーマンスのために、セグメント間の結合は最小限に抑える必要があります

よくある質問

どの同期エンジンを選択すればよいですか?

より簡単なセットアップと読み取り専用アクセスを希望する場合は、Basic Sync Engineを使用してください。パフォーマンスの向上が必要で、OneSignalがGreenplumインスタンスにテーブルを作成することを許可できる場合は、Advanced Sync Engineを選択してください。

GreenplumのMPPアーキテクチャ用にクエリを最適化するにはどうすればよいですか?

クエリが分散キーを効果的に利用していることを確認し、セグメント間の不要なデータ移動を回避し、Greenplumの列指向ストレージを分析に活用します。

イベントデータにGreenplumの外部テーブルを使用できますか?

はい、OneSignalは、外部システムに保存されているParquetやCSVなどの形式のデータを参照する外部テーブルから読み取ることができます。