No perdis temps amb sincronitzacions de dades trencades, fes-ho bé amb Apache SeaTunnel

Guia completa per realitzar la migració i sincronització de dades des de MySQL a OceanBase amb Apache SeaTunnel, incloent configuracions per a sincronització completa, incremental i CDC.

jueves, 20 de marzo de 2025 • 2 min de lectura • Equip Q2BSTUDIO

Empresa-Software-Apps

En aquesta guia, et mostrarem una solució lleugera per a la migració i sincronització de dades des de MySQL a OceanBase utilitzant Apache SeaTunnel (SeaTunnel). Aprofitarem el seu motor integrat Zeta engine, que admet sincronització completa de dades, sincronització incremental offline i Change Data Capture (CDC).

A Q2BSTUDIO, experts en desenvolupament i serveis tecnològics, implementem solucions eficients per a la gestió i migració de dades, assegurant que cada procés sigui optimitzat per a les necessitats del negoci.

Preparació de l'Entorn d'Execució

Abans de començar, assegura't que el teu entorn estigui preparat.

Instal·lar Java

SeaTunnel requereix Java 8 o superior. Es recomana Java 8, però versions posteriors també haurien de funcionar.

Verifica que Java estigui correctament configurat executant:

java -version

Assegura't que JAVA_HOME estigui correctament configurat.

Descargar i Instal·lar Apache SeaTunnel

wget https://dlcdn.apache.org/seatunnel/2.3.9/apache-seatunnel-2.3.9-bin.tar.gz
tar -zxvf apache-seatunnel-2.3.9-bin.tar.gz

Instal·lació de Connectors Plugins

El paquet d'instal·lació de SeaTunnel només conté el nucli del framework i el Zeta engine. Per connectar diverses fonts de dades, cal descarregar i configurar els plugins requerits.

Instal·lació Automàtica de Plugins

Modifica el fitxer de configuració per especificar els connectors necessaris:

connector-cdc-mysql
connector-jdbc
connector-fake
connector-console

Executa la següent comanda per instal·lar els plugins:

sh bin/install-plugin.sh 2.3.9

Verificació de la Instal·lació de SeaTunnel

Per verificar la correcta instal·lació de SeaTunnel, executa una prova de processament per lots:

./bin/seatunnel.sh --config ./config/v2.batch.config.template -m local

Si tot està correctament configurat, veuràs una sortida indicant l'èxit del procés.

Sincronització Completa de Dades

Per verificar la sincronització completa de dades, es creen taules de prova tant a MySQL com a OceanBase.

Configuració de Sincronització Completa

Es recomana migrar manualment els esquemes de taula per evitar errors.

env {
  parallelism = 5
  job.mode = BATCH
}
source {
    Jdbc {
        url = jdbc:mysql://127.0.0.1:3306/mysql
        driver = com.mysql.cj.jdbc.Driver
        user = usuario
        password = contraseña
        query = select * from base_datos.tabla1
    }
}
sink {
    jdbc {
        url = jdbc:mysql://127.0.0.1:2883/mysql
        driver = com.mysql.cj.jdbc.Driver
        user = usuario
        password = contraseña
        database = base_datos
        table = tabla1
    }
}

Resultats esperats:

Total Read Count: 100000
Total Write Count: 100000
Total Failed Count: 0

Sincronització Incremental

Per a la sincronització incremental, es poden utilitzar consultes filtrant per columnes com id o updatetime.

source {
    Jdbc {
        query = SELECT * FROM base_datos.tabla1 WHERE updatetime > '2024-01-01'
    }
}

Es recomana l'ús de Apache DolphinScheduler per obtenir valors dinàmics i automatitzar la sincronització de dades.

Sincronització CDC (Change Data Capture)

Per habilitar CDC, verifica que el binlog de MySQL estigui actiu.

Exemple de configuració:

source {
  MySQL-CDC {
    base-url = jdbc:mysql://127.0.0.1:3306/mysql
    username = usuario
    password = contraseña
    table-names = [base_datos.tabla1, base_datos.tabla2]
    startup.mode = initial
  }
}

Conclusió

Aquest article va detallar la configuració de sincronització de dades de MySQL a OceanBase amb Apache SeaTunnel. A Q2BSTUDIO, ajudem empreses a optimitzar el seu processament i maneig de dades mitjançant solucions escalables i eficients.

Si necessites assessoria sobre fluxos de dades i eines d'integració, a Q2BSTUDIO estem preparats per portar els teus processos al següent nivell.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.