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

> Sincroniza eventos personalizados desde SingleStore a OneSignal para activar Journeys automatizados y campañas de mensajería personalizadas basadas en el comportamiento del usuario.

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"

## Descripción general

La integración OneSignal + SingleStore habilita la sincronización de eventos personalizados desde tu base de datos SingleStore a OneSignal para activar campañas de mensajería automatizadas y Journeys basados en el comportamiento del usuario.

SingleStore es una base de datos SQL distribuida diseñada para análisis en tiempo real y aplicaciones de alto rendimiento.

***

## 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** o **SingleStoreDB v7.1+**
* **Usuario de base de datos** con permisos apropiados
* **Tablas de eventos** conteniendo datos de comportamiento estructurados
* **Conectividad de red** desde OneSignal a tu clúster de SingleStore

***

## Configuración

<Steps>
  <Step title="Crear usuario dedicado para OneSignal">
    Crea una cuenta de usuario dedicada con una contraseña fuerte y única:

    ```sql theme={null}
    -- Crear usuario census con la capacidad de iniciar sesión con contraseña
    CREATE USER CENSUS IDENTIFIED BY '<strong-unique-password>';
    ```
  </Step>

  <Step title="Otorgar permisos a datos de eventos">
    Proporciona acceso de solo lectura a esquemas que contienen tus datos de eventos:

    ```sql theme={null}
    -- Otorgar acceso de solo lectura al esquema con datos de eventos
    GRANT SELECT ON analytics.* TO CENSUS;

    -- Repetir para esquemas adicionales si es necesario
    GRANT SELECT ON events.* TO CENSUS;
    ```

    <Info>
      Si tienes múltiples esquemas conteniendo datos de eventos, repite la declaración `GRANT SELECT` para cada esquema.
    </Info>
  </Step>

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

    Selecciona **SingleStore** y proporciona los siguientes detalles de conexión:

    * **Host:** Tu endpoint de clúster de SingleStore
    * **Port:** 3306 (predeterminado)
    * **Database:** El nombre de tu base de datos
    * **Username:** `CENSUS`
    * **Password:** La contraseña del Paso 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       |

### Esquema de Tabla de Eventos de Ejemplo

```sql theme={null}
-- Ejemplo de tabla de eventos de SingleStore
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

Escribe consultas SQL personalizadas para transformar tus datos de eventos:

```sql theme={null}
-- Ejemplo: Eventos recientes de alto valor
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;
```

***

## Configuración de Red Avanzada

OneSignal puede conectarse exitosamente a instancias de SingleStore que están usando controles de red avanzados incluyendo restricciones de región y listas de permitidos de direcciones IP.

Para más información sobre configurar acceso de red, contacta a tu administrador de SingleStore o soporte de OneSignal.

***

## Limitaciones

* Las consultas de análisis en tiempo real pueden impactar el rendimiento del clúster durante períodos de alto tráfico
* Las operaciones JSON deberían optimizarse para ejecución distribuida

***

## FAQ

### ¿Puedo conectarme a múltiples esquemas de SingleStore?

Sí, puedes otorgar al usuario CENSUS acceso a múltiples esquemas ejecutando la declaración `GRANT SELECT` para cada esquema conteniendo datos de eventos.

### ¿OneSignal soporta SingleStore Cloud?

Sí, OneSignal soporta tanto SingleStoreDB Cloud como instalaciones on-premises de SingleStoreDB v7.1+.
