Todos os produtos
Search
Central de documentação

DataWorks:MariaDB

Última atualização: Jun 27, 2026

A source de dados MariaDB conecta o DataWorks ao MariaDB para sincronização offline bidirecional, permitindo leitura e gravação em bancos de dados e views do MariaDB. Este tópico aborda as versões compatíveis, tipos de campos, configure de contas e parâmetros de script para tarefas de sincronização offline.

Antes de começar

Para conectar o DataWorks a um banco de dados MariaDB, conclua as etapas a seguir na ordem indicada:

  1. Confirme se sua versão do MariaDB é compatível.

  2. Crie uma conta dedicada para sincronização e conceda as permissões necessárias.

  3. Adicione a source de dados MariaDB no DataWorks.

  4. Desenvolva uma tarefa de sincronização.

Versões compatíveis do MariaDB

Versões compatíveis: 5.5.x, 10.0.x, 10.1.x, 10.2.x e 10.3.x.

A sincronização offline também permite leitura de views.

Tipos de campo compatíveis

A tabela a seguir lista os tipos de campo compatíveis com o MariaDB 10.3.x. Para outras versões, consulte a documentação oficial do MariaDB.

Tipo de campo

Leitura offline (MariaDB Reader)

Gravação offline (MariaDB Writer)

TINYINT

Compatível

Compatível

SMALLINT

Compatível

Compatível

INTEGER

Compatível

Compatível

BIGINT

Compatível

Compatível

FLOAT

Compatível

Compatível

DOUBLE

Compatível

Compatível

DECIMAL/NUMERIC

Compatível

Compatível

REAL

Não compatível

Não compatível

VARCHAR

Compatível

Compatível

JSON

Compatível

Compatível

TEXT

Compatível

Compatível

MEDIUMTEXT

Compatível

Compatível

LONGTEXT

Compatível

Compatível

VARBINARY

Compatível

Compatível

BINARY

Compatível

Compatível

TINYBLOB

Compatível

Compatível

MEDIUMBLOB

Compatível

Compatível

LONGBLOB

Compatível

Compatível

ENUM

Compatível

Compatível

SET

Compatível

Compatível

BOOLEAN

Compatível

Compatível

BIT

Compatível

Compatível

DATE

Compatível

Compatível

DATETIME

Compatível

Compatível

TIMESTAMP

Compatível

Compatível

TIME

Compatível

Compatível

YEAR

Compatível

Compatível

LINESTRING

Não compatível

Não compatível

POLYGON

Não compatível

Não compatível

MULTIPOINT

Não compatível

Não compatível

MULTILINESTRING

Não compatível

Não compatível

MULTIPOLYGON

Não compatível

Não compatível

GEOMETRYCOLLECTION

Não compatível

Não compatível

Configure permissões da conta

Crie uma conta dedicada no MariaDB para que o DataWorks acesse a source de dados.

  1. Execute a instrução a seguir para verificar a versão do MariaDB:

    SELECT VERSION();
  2. (Opcional) Crie uma conta de sincronização. Consulte Criar um usuário do MariaDB.

  3. Conceda as permissões necessárias conforme a direção da sincronização:

    • Leitura offline: A conta precisa da permissão SELECT nas tabelas a sincronizar.

    • Gravação offline: A conta requer as permissões INSERT, DELETE e UPDATE nas tabelas de destino.

  4. Execute o comando a seguir para conceder as permissões. Substitua sync_account pelo nome da sua conta.

    -- CREATE USER 'sync_account'@'%' IDENTIFIED BY 'password';
    GRANT SELECT, INSERT, DELETE, UPDATE ON *.* TO 'sync_account'@'%';

    Como alternativa, conceda diretamente a permissão SUPER.

Adicionar uma source de dados

Adicione a source de dados MariaDB no DataWorks antes de desenvolver uma tarefa de sincronização. Siga as instruções em Gerenciamento de fontes de dados. As descrições dos parâmetros estão disponíveis no console do DataWorks durante a adição da source de dados.

Desenvolver uma tarefa de sincronização de dados

Sincronização offline para uma única tabela

Para configure a tarefa no editor de código, consulte Configure uma tarefa no editor de código. Para obter todos os parâmetros de script e exemplos, veja a seção Parâmetros de script e exemplos.

Parâmetros de script e exemplos

Todos os exemplos usam o formato do editor de código com "version": "2.0". Configure o script conforme os requisitos de formato unificado descritos em Configure uma tarefa no editor de código.

Reader

Exemplo de script

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "mariadb",
            "parameter": {
                "column": [
                    "id"
                ],
                "connection": [
                    {
                        "querySql": ["select a,b from join1 c join join2 d on c.id = d.id;"],
                        "datasource": "",
                        "table": [
                            "xxx"
                        ]
                    }
                ],
                "where": "",
                "splitPk": "",
                "encoding": "UTF-8"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parâmetros do Reader

Parâmetro

Descrição

Obrigatório

Padrão

datasource

Nome da source de dados. Deve corresponder exatamente ao nome da source de dados adicionada no DataWorks.

Sim

Nenhum

table

Tabela de origem para leitura. Aceita sintaxe de intervalo para tabelas fragmentadas; por exemplo, table_[0-99] lê de table_0 até table_99. Para sufixos numéricos de comprimento fixo, use ["table_00[0-9]", "table_0[10-99]", "table_[100-999]"]. A tarefa lê todas as tabelas correspondentes e falha caso alguma tabela ou coluna especificada não exista.

Sim

Nenhum

column

Colunas a sincronizar, definidas como um array JSON. O padrão inclui todas as colunas (["*"]). Permite seleção específica de colunas, reordenação e uso de valores constantes seguindo a sintaxe SQL do MariaDB. Não pode estar vazio.

Sim

Nenhum

splitPk

Coluna usada para particionar os dados em leituras concorrentes. Use a chave primária para garantir distribuição uniforme. Apenas tipos inteiros são aceitos; tipos incompatíveis revertem para sincronização em canal único. Deixe em branco para operar com um único canal.

Não

Nenhum

where

Condição de filtro SQL WHERE, como gmt_create>$bizdate para sincronização incremental diária. Omita este parâmetro ou deixe-o em branco para sincronizar todos os dados. Cláusulas LIMIT não são suportadas.

Não

Nenhum

querySql

Consulta SQL personalizada que substitui os parâmetros table, column, where e splitPk. Ideal para junções de múltiplas tabelas, como select a,b from table_a join table_b on table_a.id = table_b.id. O parâmetro datasource ainda é necessário para fornecer as credenciais. Este parâmetro diferencia maiúsculas de minúsculas (use querySql, não querysql) e não está disponível na interface visual sem código.

Não

Nenhum

Writer

Exemplo de script

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "mariadb",
            "parameter": {
                "postSql": [],
                "datasource": "",
                "column": [
                    "id",
                    "value"
                ],
                "writeMode": "insert",
                "batchSize": 1024,
                "table": "",
                "preSql": [
                    "delete from XXX;"
                ]
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Parâmetros do Writer

Parâmetro

Descrição

Obrigatório

Padrão

datasource

Nome da source de dados. Deve corresponder exatamente ao nome da source de dados adicionada no DataWorks.

Sim

Nenhum

table

Tabela de destino para gravação.

Sim

Nenhum

column

Colunas de destino para gravação, especificadas como um array JSON, por exemplo: ["id", "name", "age"]. Para gravar em todas as colunas respeitando a ordem original, use ["*"].

Sim

Nenhum

writeMode

Modo de gravação. Três opções estão disponíveis: insert (INSERT INTO — conflitos geram dados sujos), update (ON DUPLICATE KEY UPDATE — conflitos atualizam os campos definidos em updateColumn) e replace (REPLACE INTO — conflitos removem a linha existente e inserem a nova).

Não

insert into

updateColumn

Colunas a atualizar quando houver conflito de chave primária ou índice único. Aplicável apenas quando writeMode estiver definido como update. Separe as colunas por vírgulas, como em ["name", "age"].

Não

Nenhum

preSql

Instrução SQL executada antes do início da tarefa de sincronização. A interface visual aceita apenas uma instrução; o editor de código permite várias. Exemplo: truncate table tablename. Transações não são suportadas para múltiplas instruções.

Não

Nenhum

postSql

Instrução SQL executada após a conclusão da tarefa de sincronização. A interface visual aceita apenas uma instrução; o editor de código permite várias. Exemplo: ALTER TABLE tablename ADD colname TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP. Transações não são suportadas para múltiplas instruções.

Não

Nenhum

batchSize

Quantidade de registros enviados por lote. Valores maiores reduzem as idas e vindas na rede e aumentam o throughput, mas valores excessivamente altos podem provocar erros de falta de memória (OOM).

Não

256