> ## 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

> Sincronize eventos personalizados do SingleStore para o OneSignal para acionar Journeys automatizados e campanhas de mensagens personalizadas com base no comportamento do usuário.

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"

## Visão geral

A integração OneSignal + SingleStore permite a sincronização de eventos personalizados do seu banco de dados SingleStore para o OneSignal para acionar campanhas de mensagens automatizadas e Journeys com base no comportamento do usuário.

SingleStore é um banco de dados SQL distribuído projetado para análise em tempo real e aplicações de alto desempenho.

***

## Requisitos

* Access to [Event Streams](/docs/en/event-streams) for outbound message events (Plan limitations and overages apply)
* Access to [Custom Events](/docs/en/custom-events) for inbound event syncing (Plan limitations and overages apply)
* [Updated Account Plan](https://onesignal.com/pricing) (not available on free apps)

### SingleStore

* **SingleStoreDB Cloud** ou **SingleStoreDB v7.1+**
* **Usuário de banco de dados** com permissões apropriadas
* **Tabelas de eventos** contendo dados comportamentais estruturados
* **Conectividade de rede** do OneSignal para seu cluster SingleStore

***

## Configuração

<Steps>
  <Step title="Criar usuário dedicado para OneSignal">
    Crie uma conta de usuário dedicada com uma senha forte e única:

    ```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="Conceder permissões aos dados de eventos">
    Forneça acesso somente leitura aos esquemas contendo seus dados de eventos:

    ```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>
      Se você tiver vários esquemas contendo dados de eventos, repita a instrução `GRANT SELECT` para cada esquema.
    </Info>
  </Step>

  <Step title="Conectar ao OneSignal">
    In OneSignal, go to **Data > Integrations** and click **Add Integration**.

    Selecione **SingleStore** e forneça os seguintes detalhes de conexão:

    * **Host:** O endpoint do seu cluster SingleStore
    * **Port:** 3306 (padrão)
    * **Database:** O nome do seu banco de dados
    * **Username:** `CENSUS`
    * **Password:** A senha da Etapa 1
  </Step>
</Steps>

***

### Event data mapping

Map your {PLATFORM_0} {DATA_TYPE_0} to OneSignal's custom events format:

| OneSignal Field | {COLUMN_HEADER_0} | Description                | Required |
| --------------- | ----------------- | -------------------------- | -------- |
| `name`          | `event_name`      | Event identifier           | Yes      |
| `external_id`   | `user_id`         | User identifier            | Yes      |
| `timestamp`     | `event_timestamp` | When event occurred        | No       |
| `properties`    | `event_data`      | {PROPERTIES_DESCRIPTION_0} | No       |

### Exemplo de Esquema de Tabela de Eventos

```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)
);
```

### Modo de Consulta SQL

Escreva consultas SQL personalizadas para transformar seus dados de eventos:

```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;
```

***

## Configuração Avançada de Rede

O OneSignal pode se conectar com sucesso a instâncias SingleStore que estão usando controles de rede avançados, incluindo restrições de região e listas de permissão de endereços IP.

Para mais informações sobre como configurar o acesso à rede, entre em contato com o administrador do SingleStore ou o suporte do OneSignal.

***

## Limitações

* Consultas de análise em tempo real podem impactar o desempenho do cluster durante períodos de alto tráfego
* Operações JSON devem ser otimizadas para execução distribuída

***

## Perguntas frequentes

### Posso me conectar a vários esquemas SingleStore?

Sim, você pode conceder ao usuário CENSUS acesso a vários esquemas executando a instrução `GRANT SELECT` para cada esquema contendo dados de eventos.

### O OneSignal suporta o SingleStore Cloud?

Sim, o OneSignal suporta tanto o SingleStoreDB Cloud quanto instalações on-premises do SingleStoreDB v7.1+.
