DatriseETL con IA

Qué hace cada destino ETL con tus campos semiestructurados

Las fuentes de CRM y SaaS te entregan campos que no encajan en un esquema fijo: propiedades personalizadas, objetos anidados, arrays que crecen. Dónde aterrizan cambia mucho según el destino, y la respuesta está repartida por la documentación de 22 proveedores.

Aquí está esa respuesta en una sola tabla: el tipo nativo que cada destino usa para datos semiestructurados, el tipo de marca temporal que espera, cómo aplica Datrise los cambios y el comportamiento que suele sorprender. Los valores se escriben tal como los nombra el proveedor, para que coincidan con lo que buscarías.

Mapeo de tipos por destino

Bases de datos relacionales

DestinoLos campos semiestructurados aterrizan comoMarcas temporalesPatrón de carga
PostgreSQLjsonb columnstimestamptzupsert
MySQLJSON columnsDATETIME/TIMESTAMPupsert
Microsoft SQL ServerNVARCHAR(MAX) JSON columnsdatetime2upsert
Oracle DatabaseJSON or CLOB columnsTIMESTAMP WITH TIME ZONEupsert
Supabasejsonb columnstimestamptzupsert
Neonjsonb columnstimestamptzupsert
PlanetScaleJSON columnsDATETIMEupsert

Warehouses en la nube

DestinoLos campos semiestructurados aterrizan comoMarcas temporalesPatrón de carga
SnowflakeVARIANT columnsTIMESTAMP_TZupsert
Google BigQueryJSON or nested/repeated (STRUCT) columnsTIMESTAMPupsert
Amazon RedshiftSUPER columnsTIMESTAMPTZupsert
Databricks SQL WarehouseVARIANT or STRUCT columnsTIMESTAMPupsert
Azure SynapseNVARCHAR(MAX) JSON columnsdatetime2upsert

Motores OLAP

DestinoLos campos semiestructurados aterrizan comoMarcas temporalesPatrón de carga
ClickHouseJSON or Map columnsDateTime64upsert
DuckDBJSON or STRUCT columnsTIMESTAMP WITH TIME ZONEsnapshot

Data lakes

DestinoLos campos semiestructurados aterrizan comoMarcas temporalesPatrón de carga
Amazon Athenastruct/map columns in Parquettimestampmerge de archivos
Amazon S3 Data Lakenested struct/map fields in ParquetISO-8601 timestamp columnsmerge de archivos
Azure Data Lake Storagenested struct/map fields in ParquetISO-8601 timestamp columnsmerge de archivos

Almacenes documentales

DestinoLos campos semiestructurados aterrizan comoMarcas temporalesPatrón de carga
MongoDBnative nested documentsBSON Dateupsert
Amazon DynamoDBnested map/list attributesISO-8601 string or epoch number attributesupsert

Hojas de cálculo y archivos

DestinoLos campos semiestructurados aterrizan comoMarcas temporalesPatrón de carga
Hojas de cálculoJSON-stringified cells for nested fieldsISO-8601 text or serial date cellssnapshot
Airtablelong-text JSON or linked records for nested datadate/dateTime fieldsupsert
Archivos CSVJSON-encoded strings for nested fieldsISO-8601 timestamp columnssnapshot

Cómo se aplican los cambios y qué sorprende

Una entrada por destino: la mecánica incremental que usa Datrise y luego el comportamiento que conviene conocer antes de elegirlo.

PostgreSQL

Incremental: una marca de agua sobre el updated-at de cada entidad, aplicada con INSERT … ON CONFLICT DO UPDATE

Conviene saber: PostgreSQL pasa a minúsculas los identificadores sin comillas, así que Datrise normaliza a snake_case los campos de origen con mayúsculas mezcladas

Generador de upsert: INSERT … ON CONFLICT DO UPDATE

MySQL

Incremental: una marca de agua sobre updated-at, aplicada con INSERT … ON DUPLICATE KEY UPDATE

Conviene saber: La colación de MySQL importa para el texto de CRM, así que Datrise escribe en utf8mb4 para preservar emojis y caracteres no latinos

Generador de upsert: INSERT … ON DUPLICATE KEY UPDATE

Microsoft SQL Server

Incremental: una marca de agua sobre updated-at, aplicada con una sentencia MERGE

Conviene saber: SQL Server usa por defecto una colación que ignora mayúsculas, así que Datrise conserva el uso original en una columna de metadatos para evitar colisiones silenciosas de claves

Generador de upsert: MERGE … WITH (HOLDLOCK)

Oracle Database

Incremental: una marca de agua sobre updated-at, aplicada con MERGE INTO

Conviene saber: Oracle trata la cadena vacía como NULL, así que Datrise distingue los valores de origen en blanco de los ausentes durante la carga

Generador de upsert: MERGE INTO … USING

Supabase

Incremental: una marca de agua sobre updated-at, aplicada con INSERT … ON CONFLICT DO UPDATE

Conviene saber: Datrise escribe en un esquema dedicado y deja la row-level security en tus manos, para que las tablas sincronizadas no hereden acceso público por accidente

Generador de upsert: INSERT … ON CONFLICT DO UPDATE

Neon

Incremental: una marca de agua sobre updated-at, aplicada con INSERT … ON CONFLICT DO UPDATE

Conviene saber: Neon separa cómputo y almacenamiento, así que Datrise agrupa las escrituras para que el cómputo autoescalado no arranque en frío con cada cambio pequeño

Generador de upsert: INSERT … ON CONFLICT DO UPDATE

PlanetScale

Incremental: una marca de agua sobre updated-at, aplicada con INSERT … ON DUPLICATE KEY UPDATE

Conviene saber: PlanetScale no permite claves foráneas por defecto, así que Datrise modela las relaciones con columnas de id estables en lugar de FKs impuestas

Generador de upsert: INSERT … ON DUPLICATE KEY UPDATE

Snowflake

Incremental: cargas en staging fusionadas por id estable con MERGE, de modo que los créditos escalan con el volumen de cambios, no con el tamaño de la tabla

Conviene saber: Snowflake pasa a mayúsculas los identificadores sin comillas, así que Datrise estandariza nombres en minúscula entre comillas para que las referencias de columna se mantengan estables

Generador de upsert: MERGE INTO … QUALIFY-deduped USING

Google BigQuery

Incremental: añade a una tabla de staging y luego hace MERGE por id estable sobre la tabla particionada de destino

Conviene saber: BigQuery factura por bytes escaneados, así que Datrise particiona y agrupa cada tabla para mantener predecible el coste de las consultas

Generador de upsert: MERGE with partition-pruned target

Amazon Redshift

Incremental: COPY desde archivos en staging y luego un merge de borrar-e-insertar por id estable

Conviene saber: El rendimiento de Redshift depende de las dist/sort keys, así que Datrise las elige a partir de los ids de tus entidades y las marcas de sincronización en lugar de dejar la distribución EVEN por defecto

Generador de upsert: DELETE … USING + INSERT (staging pattern)

Databricks SQL Warehouse

Incremental: un MERGE de Delta por id estable, con historial de cambios disponible vía time travel

Conviene saber: Datrise escribe tablas Delta gobernadas por Unity Catalog, así que el linaje y los permisos se gestionan de forma central y no por notebook

Generador de upsert: Delta Lake MERGE INTO

Azure Synapse

Incremental: COPY a staging y luego un MERGE por id estable

Conviene saber: Los pools dedicados de Synapse premian una buena distribución hash, así que Datrise distribuye por ids de entidad para evitar joins con mucho movimiento de datos

Generador de upsert: MERGE (dedicated SQL pool)

ClickHouse

Incremental: inserta en un ReplacingMergeTree con clave de id estable, de modo que la última versión gana en el merge

Conviene saber: ClickHouse deduplica de forma asíncrona en el merge, así que Datrise usa ReplacingMergeTree y consultas seguras con FINAL en lugar de asumir upserts inmediatos

Generador de upsert: INSERT into ReplacingMergeTree + FINAL

DuckDB

Incremental: reescribe las entidades cambiadas en la base local (o en Parquet) en cada ejecución

Conviene saber: DuckDB es embebido y de un solo escritor, así que Datrise produce un snapshot de archivo consistente en lugar de escrituras concurrentes en streaming

Generador de upsert: INSERT OR REPLACE / ON CONFLICT DO UPDATE

Amazon Athena

Incremental: escribe nuevas particiones Parquet y las registra en el Glue Data Catalog

Conviene saber: Athena factura por byte escaneado y los archivos pequeños penalizan, así que Datrise compacta a Parquet de tamaño adecuado en lugar de muchos objetos diminutos

Generador de upsert: MERGE INTO (Iceberg table, engine v3)

Amazon S3 Data Lake

Incremental: escribe nuevas particiones por fecha y compacta archivos pequeños de forma programada

Conviene saber: Un lake no impone esquema, así que Datrise escribe un manifiesto de esquema junto a los datos para mantener consistentes los motores aguas abajo

Generador de upsert: append partition + latest-version view

Azure Data Lake Storage

Incremental: escribe nuevas particiones por fecha en el contenedor y compacta de forma programada

Conviene saber: El espacio de nombres jerárquico de ADLS hace que importe la estructura de carpetas, así que Datrise mantiene una ruta entidad/fecha predecible que tus motores de Azure montan directamente

Generador de upsert: append partition + latest-version view

MongoDB

Incremental: upserts por id estable con updateOne(upsert) sobre la clave primaria de origen

Conviene saber: Mongo no tiene esquema fijo, así que Datrise mantiene tipos de campo consistentes entre documentos para evitar sorpresas de tipos mixtos en las consultas

Generador de upsert: bulkWrite updateOne { upsert: true }

Amazon DynamoDB

Incremental: PutItem/UpdateItem con una clave de partición derivada del id de la entidad

Conviene saber: DynamoDB premia diseñar las claves según los patrones de acceso, así que Datrise define partition/sort keys a partir de los ids de tus entidades en lugar de valores por defecto que obligan a escanear

Generador de upsert: PutItem with ConditionExpression

Hojas de cálculo

Incremental: refresca las filas de la pestaña en cada ejecución, preservando el orden de las cabeceras

Conviene saber: Sheets tope alrededor de unos pocos millones de celdas, así que Datrise escribe un conjunto de columnas curado en lugar de todos los campos en bruto

Airtable

Incremental: upserts de registros emparejados por un campo de id estable

Conviene saber: Airtable impone límites de registros por base y de tasa de API, así que Datrise agrupa las escrituras y escribe un conjunto de campos acotado

Generador de upsert: PATCH /records with performUpsert

Archivos CSV

Incremental: escribe un CSV nuevo y completamente tipado por entidad en cada ejecución

Conviene saber: CSV no tiene tipos, así que Datrise emite un esquema acompañante y entrecomilla y escapa de forma consistente para que los cargadores aguas abajo no interpreten mal comas y saltos de línea

Por qué las herramientas de BI no están en esta tabla

Datrise también entrega a 21 herramientas de BI, y todas llegan a la misma respuesta: los campos anidados aterrizan aplanados en columnas que su capa de modelado puede graficar. Eso es un hecho, no 21 — listarlas aquí engordaría la página sin informar a nadie. Las herramientas de BI leen de un almacén que sí está en la tabla de arriba; elige primero el almacén.

Acceso anticipado

Consigue el pipeline, no solo la tabla

Esta página te dice qué hace cada destino con tus datos. Datrise lo hace por ti: entidades modeladas, sincronización incremental, tablas tipadas y ni un script que vigilar. Únete a la lista de espera y te avisamos cuando tu par de origen y destino esté listo.

Explorar el catálogo de integraciones

Ver los límites y cursores del lado de la fuente