用程序同步mysql数据库表_初次用Java写了个数据库表同步工具
介紹
java 程序編寫,真正跨平臺。
傳入一定的參數,即可在相同或不同的數據庫間進行表的同步,包括表結構的同步及數據的同步。作業由調度工具進行調度,比如 moia,本項目旨在提供一種數據庫間表同步的通用工具。
目前項目 demo 已經可以使用 ,歡迎感興趣的朋友一起加入。
程序的使用
數據庫的信息寫在配置文件中,計劃支持各種主流關系型數據庫,如 MysqL、Db2、Oracle、PostgreSQL。
程序名稱叫 database-sync,運行方式是這樣的:
全量更新
java -jar database-sync.jar {fromDb} {fromSchema} {fromTable} {toDb} {toSchema} {toTable}
fromDb 是指配置在 config.json 的數據庫信息,假如有以下配置文件:
{
"postgres":{
"type":"postgres",
"driver":"org.postgresql.Driver",
"url":"jdbc:postgresql://localhost:5432/apidb",
"user": "postgres",
"password":"aaron"
},
"aarondb":{
"type":"mysql",
"driver":"com.mysql.cj.jdbc.Driver",
"url":"jdbc:mysql://localhost:3306/aarondb?useSSL=false&characterEncoding=utf8&serverTimezone=UTC",
"user": "aaron",
"password":"aaron"
}
}
則 fromDb、toDb 可以是 aarondb 或者 postgres。fromSchema 讀取數據的表的模式名,可以填寫 "".
fromTable 讀取數據的表明,必須提供。
toSchema 寫入數據表的模式名,可以填寫 "",可以和 fromSchema 不同.
toTable 寫入數據表的表名,必須提供,當寫入表不存在時,自動按讀取表的表結構創建,可以和 fromTable 不同。
數據在寫入前會自動清理,每 100000 條記錄讀取一次,寫入一次,對于上億的數據量,也不會占有大內存。
增量更新
java -jar database-sync.jar {fromDb} {fromSchema} {fromTable} {toDb} {toSchema} {toTable} [whereClause]
與全量更新的唯一區別是可以提供 where 條件,程序按 where 條件自動清理數據,寫入數據。
編寫目的
提高數據庫間表的同步效率,如果是輕加工,就丟掉低效的 datastage 和 kettle 吧。
參與貢獻張慧峰
施云霄
總結
以上是生活随笔為你收集整理的用程序同步mysql数据库表_初次用Java写了个数据库表同步工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cockroachdb mysql_Co
- 下一篇: 宁波大学2020计算机技术复试线,宁波大