Uma entrada por destino: a mecânica incremental que a Datrise usa e depois o comportamento que vale conhecer antes de escolher.
PostgreSQL
Incremental: uma marca d'água sobre o updated-at de cada entidade, aplicada com INSERT … ON CONFLICT DO UPDATE
Vale saber: O PostgreSQL converte identificadores sem aspas para minúsculas, então a Datrise normaliza para snake_case os campos de origem com maiúsculas misturadas
Gerador de upsert: INSERT … ON CONFLICT DO UPDATE
MySQL
Incremental: uma marca d'água sobre updated-at, aplicada com INSERT … ON DUPLICATE KEY UPDATE
Vale saber: A collation do MySQL importa para textos de CRM, então a Datrise grava em utf8mb4 para preservar emojis e caracteres não latinos
Gerador de upsert: INSERT … ON DUPLICATE KEY UPDATE
Microsoft SQL Server
Incremental: uma marca d'água sobre updated-at, aplicada com uma instrução MERGE
Vale saber: O SQL Server usa por padrão uma collation que ignora maiúsculas, então a Datrise preserva a grafia original em uma coluna de metadados para evitar colisões silenciosas de chaves
Gerador de upsert: MERGE … WITH (HOLDLOCK)
Oracle Database
Incremental: uma marca d'água sobre updated-at, aplicada com MERGE INTO
Vale saber: O Oracle trata string vazia como NULL, então a Datrise distingue valores de origem em branco dos ausentes durante a carga
Gerador de upsert: MERGE INTO … USING
Supabase
Incremental: uma marca d'água sobre updated-at, aplicada com INSERT … ON CONFLICT DO UPDATE
Vale saber: A Datrise grava em um schema dedicado e deixa a row-level security com você, para que as tabelas sincronizadas não herdem acesso público por acidente
Gerador de upsert: INSERT … ON CONFLICT DO UPDATE
Neon
Incremental: uma marca d'água sobre updated-at, aplicada com INSERT … ON CONFLICT DO UPDATE
Vale saber: O Neon separa computação e armazenamento, então a Datrise agrupa as gravações para que a computação com autoescala não faça cold start a cada pequena alteração
Gerador de upsert: INSERT … ON CONFLICT DO UPDATE
PlanetScale
Incremental: uma marca d'água sobre updated-at, aplicada com INSERT … ON DUPLICATE KEY UPDATE
Vale saber: O PlanetScale não permite chaves estrangeiras por padrão, então a Datrise modela os relacionamentos com colunas de id estáveis em vez de FKs impostas
Gerador de upsert: INSERT … ON DUPLICATE KEY UPDATE
Snowflake
Incremental: cargas em staging mescladas por id estável com MERGE, de modo que os créditos escalam com o volume de alterações, não com o tamanho da tabela
Vale saber: O Snowflake converte identificadores sem aspas para maiúsculas, então a Datrise padroniza nomes em minúsculas entre aspas para que as referências de coluna permaneçam estáveis
Gerador de upsert: MERGE INTO … QUALIFY-deduped USING
Google BigQuery
Incremental: acrescenta a uma tabela de staging e depois faz MERGE por id estável na tabela particionada de destino
Vale saber: O BigQuery cobra por bytes escaneados, então a Datrise particiona e clusteriza cada tabela para manter o custo das consultas previsível
Gerador de upsert: MERGE with partition-pruned target
Amazon Redshift
Incremental: COPY a partir de arquivos em staging e depois um merge de deletar-e-inserir por id estável
Vale saber: O desempenho do Redshift depende das dist/sort keys, então a Datrise as escolhe a partir dos ids das suas entidades e das marcações de sincronização em vez de deixar a distribuição EVEN padrão
Gerador de upsert: DELETE … USING + INSERT (staging pattern)
Databricks SQL Warehouse
Incremental: um MERGE do Delta por id estável, com histórico de alterações disponível via time travel
Vale saber: A Datrise grava tabelas Delta governadas pelo Unity Catalog, então linhagem e permissões são geridas de forma central e não por notebook
Gerador de upsert: Delta Lake MERGE INTO
Azure Synapse
Incremental: COPY para staging e depois um MERGE por id estável
Vale saber: Os pools dedicados do Synapse recompensam uma boa distribuição hash, então a Datrise distribui por ids de entidade para evitar joins com muita movimentação de dados
Gerador de upsert: MERGE (dedicated SQL pool)
ClickHouse
Incremental: insere em um ReplacingMergeTree com chave de id estável, de modo que a última versão vence no merge
Vale saber: O ClickHouse deduplica de forma assíncrona no merge, então a Datrise usa ReplacingMergeTree e consultas seguras com FINAL em vez de assumir upserts imediatos
Gerador de upsert: INSERT into ReplacingMergeTree + FINAL
DuckDB
Incremental: reescreve as entidades alteradas no banco local (ou em Parquet) a cada execução
Vale saber: O DuckDB é embarcado e de escritor único, então a Datrise produz um snapshot de arquivo consistente em vez de gravações concorrentes em streaming
Gerador de upsert: INSERT OR REPLACE / ON CONFLICT DO UPDATE
Amazon Athena
Incremental: grava novas partições Parquet e as registra no Glue Data Catalog
Vale saber: O Athena cobra por byte escaneado e arquivos pequenos penalizam, então a Datrise compacta em Parquet de tamanho adequado em vez de muitos objetos minúsculos
Gerador de upsert: MERGE INTO (Iceberg table, engine v3)
Amazon S3 Data Lake
Incremental: grava novas partições por data e compacta arquivos pequenos de forma agendada
Vale saber: Um lake não impõe schema, então a Datrise grava um manifesto de schema junto aos dados para manter os motores downstream consistentes
Gerador de upsert: append partition + latest-version view
Azure Data Lake Storage
Incremental: grava novas partições por data no container e compacta de forma agendada
Vale saber: O namespace hierárquico do ADLS faz a estrutura de pastas importar, então a Datrise mantém um caminho entidade/data previsível que seus motores do Azure montam diretamente
Gerador de upsert: append partition + latest-version view
MongoDB
Incremental: upserts por id estável com updateOne(upsert) sobre a chave primária de origem
Vale saber: O Mongo não tem schema fixo, então a Datrise mantém tipos de campo consistentes entre documentos para evitar surpresas de tipos mistos nas consultas
Gerador de upsert: bulkWrite updateOne { upsert: true }
Amazon DynamoDB
Incremental: PutItem/UpdateItem com uma chave de partição derivada do id da entidade
Vale saber: O DynamoDB recompensa projetar as chaves conforme os padrões de acesso, então a Datrise define partition/sort keys a partir dos ids das suas entidades em vez de padrões que forçam varreduras
Gerador de upsert: PutItem with ConditionExpression
Planilhas
Incremental: atualiza as linhas da aba a cada execução, preservando a ordem dos cabeçalhos
Vale saber: O Sheets tem teto na casa dos poucos milhões de células, então a Datrise grava um conjunto de colunas curado em vez de todos os campos brutos
Airtable
Incremental: upserts de registros pareados por um campo de id estável
Vale saber: O Airtable impõe limites de registros por base e de taxa de API, então a Datrise agrupa as gravações e grava um conjunto de campos enxuto
Gerador de upsert: PATCH /records with performUpsert
Arquivos CSV
Incremental: grava um CSV novo e totalmente tipado por entidade a cada execução
Vale saber: CSV não tem tipos, então a Datrise emite um schema acompanhante e faz aspas e escapes de forma consistente para que os carregadores downstream não interpretem mal vírgulas e quebras de linha