信创迁移神器!Apache SeaTunnel 搞定瀚高数据库读写一把过

丝一般顺滑~
1777286655732d9e6752b03a3968d

https://github.com/apache/SeaTunnel

点击蓝字



关注我们

作者 | 三线程序员

想用Apache SeaTunnel对接瀚高数据库该怎么配?本文分享实战经验,瀚高数据库基于PostgreSQL内核,直接用标准JDBC驱动即可连接。文中给出了瀚高MySQL模式读写PG模式、Doris数据迁移至瀚高的配置示例,操作顺畅。

1. 瀚高数据库简介

瀚高数据库(HighGo)是国产数据库厂商,基于PostgreSQL内核开发,专注于企业级应用。与KingBase的金仓数据库类似,都是PG系的国产化数据库。

瀚高特点

  • 完全兼容PostgreSQL协议
  • 国产化适配,有政府信创清单认证
  • 提供标准PostgreSQL驱动,无需额外驱动
  • 支持多种部署模式(单机、主备、分布式)

瀚高也有PG和MySQL模式,兼容性比较好。就直接当PG和MySQL用就是,jdbc和Navicat 就直接连就行了,唯一需要注意的是Navicat 的低版本连瀚高MySQL时,有时候需要配置一下某个参数“客户端驱动程序”选择旧版,否则打开表时会报什么奇怪怕错误。

2. 瀚高读写实践

2.1 从瀚高MySQL模式读数据写入瀚高PG模式

直接把配置信息复制到海豚的SeaTunnel节点里就行了。这里瀚高和人大金仓的MySQL兼容模式有所不同,瀚高就是当源生MySQL(jdbc驱动就是MySQL),而金仓需要使用PG驱动去读取MySQL兼容模式的数据内容(估计是底层做的MySQL兼容)。





























env {  parallelism = 2  job.mode = "BATCH"}source {  Jdbc {    driver = "com.mysql.cj.jdbc.Driver"    url = "jdbc:mysql://192.168.0.110:3306/public"    user = "root"    password = "root"   query = "SELECT *  FROM public.tb_dict;"  }}sink {  jdbc {	    url = "jdbc:postgresql://192.168.0.119:5866/datadb"        driver = "org.postgresql.Driver"        user = "highgo"        password = "highgo"        # Automatically generate sql statements based on database table names        generate_sink_sql = true        database = datacenter        table = data_schema.dim_public_dict_info        schema_save_mode = "CREATE_SCHEMA_WHEN_NOT_EXIST"        field_ide="LOWERCASE"        data_save_mode="DROP_DATA"	}}

丝一般顺滑.......

2.2. 为了信创要求

如果原有系统为非信创数据库,例如Apache Doris已经项目开发完毕了;上线时直接要求切换信创数据库,则可以使用SeaTunnel做为迁移工具,直接把Doris数据写回给信创DB。毕竟D oris 可不只是一个数据库,也叫数据引擎(大不了再把Doris的数据迁移完毕后再删除了)。活是糙了点......










































env {  parallelism = 2  job.mode = "BATCH"}source {  Jdbc {    url = "jdbc:mysql://192.168.0.120:9030/data_statistics"    driver = "com.mysql.cj.jdbc.Driver"    connection_check_timeout_sec = 100    user = "root"    password = "root"    "table_list" = [{      "table_path" = "data_statistics.data_develop_data_source_yw"    }, {      "table_path" = "data_statistics.data_develop_data_source_type"    }, {      "table_path" = "data_statistics.data_develop_data_source_ip"    },     ....    ]  }}sink {  jdbc {    url = "jdbc:postgresql://192.168.0.119:5866/datadb"    driver = "org.postgresql.Driver"    user = "highgo"    password = "highgo"    # Automatically generate sql statements based on database table names    generate_sink_sql = true    database = datadb    table = "data_schema.${table_name}"    #field_ide = "LOWERCASE"    #schema_save_mode = "CREATE_SCHEMA_WHEN_NOT_EXIST"    data_save_mode = "DROP_DATA"  }}

3. 小结

仅以个人所在环境出发和感受来看,Doris+DolphinScheduler+SeaTunnel堪称数据读写”新三剑客“。日常DolphinScheduler加Doris就可以完成常见数据库的etl和加工工作,数据量不太大的情况下,Doris catalog就能搞定;如果catalog映射不了(如xxx的MySQL模式一般还都不行...),或者比较个性的数据库再用上SeaTunnel做为兜底神器。

Apache SeaTunnel

Apache SeaTunnel是一个云原生的多模态、高性能海量数据集成工具。北京时间 2023 年 6 月1 日,全球最大的开源软件基金会ApacheSoftware Foundation正式宣布SeaTunnel毕业成为Apache顶级项目。目前,SeaTunnel在GitHub上Star数量已达9k+,社区达到7000+人规模。SeaTunnel支持在云数据库、本地数据源、SaaS、大模型等170多种数据源之间进行数据实时和批量同步,支持CDC、DDL变更、整库同步等功能,更是可以和大模型打通,让大模型链接企业内部的数据。




同步Demo

MySQL→Doris | MySQLCDC | MySQL→Hive | HTTP → Doris | HTTP → MySQL | MySQL→StarRocks|MySQL→Elasticsearch |Kafka→ClickHouse

新手入门

SeaTunnel 让数据集成变得 So easy!/ 3 分钟入门指南
0 到 1 快速入门 /初探/深入理解
分布式集群部署 | CDC数据同步管道 | Oracle-CDC
图片

最佳实践

中控技术天翼云多点OPPO | 清风马蜂窝孩子王哔哩哔哩唯品会众安保险兆原数通 | 亚信科技|映客|翼康济世|信也科技|华润置地|Shopee|京东科技|58同城|互联网银行|JPMorgan
图片

测试报告

SeaTunnel VS GLUE | VS Airbyte | VS DataX|SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比
图片

源码解析

Zeta引擎源码解析(一) |(二) |(三)| API 源码解析 |2.1.1源码解析|封装 Flink 连接数据库解析





仓库地址:
https://github.com/apache/seatunnel
网址:
https://seatunnel.apache.org/
Apache SeaTunnel 下载地址:
https://seatunnel.apache.org/download
衷心欢迎更多人加入!
我们相信,在Community Over Code(社区大于代码)、「Open and Cooperation」(开放协作)、「Meritocracy」(精英管理)、以及「多样性与共识决策」The Apache Way 的指引下,我们将迎来更加多元化和包容的社区生态,共建开源精神带来的技术进步!
我们诚邀各位有志于让本土开源立足全球的伙伴加入 SeaTunnel 贡献者大家庭,一起共建开源!
提交问题和建议:
https://github.com/apache/seatunnel/issues
贡献代码:
https://github.com/apache/seatunnel/pulls
订阅社区开发邮件列表 :
dev-subscribe@seatunnel.apache.org
开发邮件列表:
dev@seatunnel.apache.org
加入 Slack:
https://join.slack.com/t/apacheseatunnel/shared_invite/zt-3uouszk3m-PtLLNyZsJVqE5Gb6gn24mA
关注 X.com:
https://x.com/ASFSeaTunnel


1777286659125a9d9dfb380e33dab
17772866596456525f5d4ce5255f6
1777286660125d1e5050dd435c276