> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SingleStore

> SingleStoreからOneSignalにカスタムイベントを同期して、ユーザー行動に基づいた自動化されたJourneysとパーソナライズされたメッセージングキャンペーンをトリガーします。

export const PLATFORM_0 = "SingleStore"

export const DATA_TYPE_0 = "event data"

export const COLUMN_HEADER_0 = "SingleStore Column"

export const PROPERTIES_DESCRIPTION_0 = "Event metadata as JSON"

## 概要

OneSignal + SingleStore統合により、SingleStoreデータベースからOneSignalにカスタムイベントを同期して、ユーザー行動に基づいた自動化されたメッセージングキャンペーンとJourneysをトリガーできます。

SingleStoreは、リアルタイム分析と高性能アプリケーション向けに設計された分散SQLデータベースです。

***

## 要件

* アウトバウンドメッセージイベント用の[Event Streams](/docs/ja/event-streams)へのアクセス（プランの制限と超過料金が適用されます）
* インバウンドイベント同期用の[Custom Events](/docs/ja/custom-events)へのアクセス（プランの制限と超過料金が適用されます）
* [更新されたアカウントプラン](https://onesignal.com/pricing)（無料アプリでは利用できません）

### SingleStore

* **SingleStoreDB Cloud**または**SingleStoreDB v7.1+**
* 適切な権限を持つ**データベースユーザー**
* 構造化された行動データを含む**イベントテーブル**
* OneSignalからSingleStoreクラスターへの**ネットワーク接続**

***

## セットアップ

<Steps>
  <Step title="OneSignal専用ユーザーを作成する">
    強力で一意のパスワードを持つ専用ユーザーアカウントを作成します：

    ```sql theme={null}
    -- Create census user with the ability to sign in with a password
    CREATE USER CENSUS IDENTIFIED BY '<strong-unique-password>';
    ```
  </Step>

  <Step title="イベントデータへの権限を付与する">
    イベントデータを含むスキーマへの読み取り専用アクセスを提供します：

    ```sql theme={null}
    -- Grant read-only access to schema with event data
    GRANT SELECT ON analytics.* TO CENSUS;

    -- Repeat for additional schemas if needed
    GRANT SELECT ON events.* TO CENSUS;
    ```

    <Info>
      イベントデータを含む複数のスキーマがある場合は、各スキーマに対して`GRANT SELECT`ステートメントを繰り返します。
    </Info>
  </Step>

  <Step title="OneSignalに接続する">
    OneSignalで、**Data > Integrations**に移動し、**Add Integration**をクリックします。

    **SingleStore**を選択し、次の接続詳細を提供します：

    * **Host:** SingleStoreクラスターエンドポイント
    * **Port:** 3306（デフォルト）
    * **Database:** データベース名
    * **Username:** `CENSUS`
    * **Password:** ステップ1のパスワード
  </Step>
</Steps>

***

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

{PLATFORM_0} {DATA_TYPE_0}をOneSignalのカスタムイベント形式にマッピングします：

| OneSignalフィールド | {COLUMN_HEADER_0} | 説明                         | 必須  |
| -------------- | ----------------- | -------------------------- | --- |
| `name`         | `event_name`      | イベント識別子                    | はい  |
| `external_id`  | `user_id`         | ユーザー識別子                    | はい  |
| `timestamp`    | `event_timestamp` | イベントが発生した時刻                | いいえ |
| `properties`   | `event_data`      | {PROPERTIES_DESCRIPTION_0} | いいえ |

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

```sql theme={null}
-- Example SingleStore event table
CREATE TABLE analytics.user_events (
    event_id BIGINT AUTO_INCREMENT PRIMARY KEY,
    event_name VARCHAR(100) NOT NULL,
    user_id VARCHAR(255) NOT NULL,
    event_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    event_data JSON,
    session_id VARCHAR(255),
    device_type VARCHAR(50)
);
```

### SQLクエリモード

カスタムSQLクエリを記述してイベントデータを変換します：

```sql theme={null}
-- Example: Recent high-value events
SELECT
    event_name,
    user_id,
    event_timestamp,
    event_data
FROM analytics.user_events
WHERE event_timestamp >= DATE_SUB(NOW(), INTERVAL 7 DAY)
    AND JSON_EXTRACT_STRING(event_data, 'value') > '100'
ORDER BY event_timestamp DESC;
```

***

## 高度なネットワーク構成

OneSignalは、リージョン制約やIPアドレス許可リストを含む高度なネットワーク制御を使用しているSingleStoreインスタンスに正常に接続できます。

ネットワークアクセスの構成の詳細については、SingleStore管理者またはOneSignalサポートにお問い合わせください。

***

## 制限事項

* リアルタイム分析クエリは、トラフィックが多い期間中にクラスターのパフォーマンスに影響を与える可能性があります
* JSON操作は、分散実行用に最適化する必要があります

***

## FAQ

### 複数のSingleStoreスキーマに接続できますか？

はい、イベントデータを含む各スキーマに対して`GRANT SELECT`ステートメントを実行することで、CENSUSユーザーに複数のスキーマへのアクセスを許可できます。

### OneSignalはSingleStore Cloudをサポートしていますか？

はい、OneSignalはSingleStoreDB Cloudとオンプレミスの SingleStoreDB v7.1+インストールの両方をサポートしています。
