Releases: ucarGroup/DataLink
Releases · ucarGroup/DataLink
V1.0.2-beta
重要功能新增
开源全量同步子系统
- 基于阿里datax进行封装改造,并提供基本的配置管理功能
- 支持手动管理任务,也支持配置定时任务
- 提供服务接口,支持外部系统启动、停止任务等操作
一些事项说明
- 此次开源的新功能,保证大部分功能可用,但因精力有限,主要目标还是供参考学习和抛砖引玉
- 因工作量较大,新开源的代码,一些细节没有调整完,源码中的flinker和datax,请统一理解为flinker
- 增量子系统进行了一些优化和小的bug修复,可放心使用
如何升级
- 执行如下升级sql,可从V1.0.0-beta 或 V1.0.1-beta版本,无缝升级到新版本,升级Sql
V1.0.1-beta
相关bug修复
- 修复了FastJson报AutoType无法识别的问题
- 修复了mapper-task.xml文件中的部分sql语法错误
- 调整了表t_dl_sys_properties中properties_key列的长度
如何升级
- 如果是从0.x升级到1.0.1-beta,直接执行如下升级sql,可无缝升级到新版本,升级Sql
- 如果是从1.0.0-beta升级到1.0.1-beta,执行如下sql即可,ALTER TABLE
t_dl_sys_properties
MODIFYproperties_key
VARCHAR(30);
V1.0.0-beta
重要功能新增
- 新增kudu-writer插件
- 新增kafka-writer插件
- 对Task新增两个维度的监控
- 支持TaskBusyStatus监控,当Task在Writer端出现卡死情况时,系统可监控预警,参见类:TaskSyncStatusManager
- 新增Task轨迹查看功能:精确查看在不同时间段Task执行所在的Worker机器,便于排查问题,参见类:TaskTraceMonitor
- 对es-writer插件进行了升级
- 支持routing方式的同步,配置映射时可指定routing字段
- 列名前缀支持可配置,参见类:EsMappingParameter
- 对Mysql-Reader进行了重写
- 新增精确补数据功能:出现数据缺失时,不用再通过重置Task位点修复数据,也不用再通过新建临时Task修复数据,直接在现有Task发起数据修补请求即可(类似otter的自由门),对业务影响降到最小
- 新增影子位点功能:同一Task既有主位点,又有影子位点,影子位点的意义是支持对Task的部分映射进行独立的位点重置,而不影响主流程
- 读取Binlog时,支持多路复用,即多个MysqlTaskReader可以在内存中共用一份儿Binlog,以减轻DB的压力(建议在测试和预发环境使用,默认不开启)
- 新增对有效同步位点进行记录的机制,有效同步位点记录的是:真正影响到Task同步映射关系的binlog消费位点,参见类:CanalReaderEffectSyncPosition
重要功能优化
- 对rdbms-writer插件进行了优化
- 支持自增列不是主键情况下的同步,参见类:SqlBuilder
- 支持更新时不仅更新发生变更的列,还能更新所有列,参见类:RdbmsWriterParameter
- 对hdfs-writer插进行了优化
- 对HRecord数据类型增加参数binlog_eventtime,以支持对同一rowkey去重
- 调用其它Worker释放租约时,url中的端口调整为动态获取,参见类:RemoteUtil
- 对hbase-writer插件进行了优化
- 同步时,family列族名称支持自定义,参见类:HBaseMappingParameter
- 对Worker运行时进行了优化
- 调整了worker的jmx监听端口,避免同一台机器同时部署manager和worker时端口冲突
- 优化了TaskConfigManager,支持不同分组发布不同版本的程序包(之前的实现方式,每次tryRfresh时会取所有task配置,无法支持版本兼容)
- 优化了AbstractHandler的线程池策略,调整为Cache模式
其它优化调整
- 升级zkclient版本到0.10
- 升级mysql驱动到8.0.11
- 升级canal版本到1.1.3
- 升级druid版本到1.1.16
- 增加页面操作日志审计功能,可对关键操作进行行为审计
- 分组管理页面增加强制触发Reblance功能
- 同一个Task下,支持某张表同时同步到同一个目标DB的不同表(之前版本不支持)
如何升级
- 执行如下升级sql,可从旧版本,无缝升级到新版本,升级Sql
V0.0.2
重要变更:
1、完善PositionManager的位点管理机制,解决一个极端情况下数据丢失的bug
2、Mysql位点信息完善,调整firstEntryTime的获取方式
3、AbstractHandler调整线程池策略
4、优化Goup模式下的心跳频率
5、EsWriter插件,支持HBase类型的数据同步到ES
小需求&bugfix:
1、配置文件中的ucar_datalink数据库密码兼容明文,密文/明文均可#5
2、sh脚本格式由CRLF改为LF #10
3、DataSourceFactory、HTableFactory增加移除监听来关闭连接,避免数据库连接数过多
4、sqlserver-writer支持“有自增列且自增列不是主键”的情况
5、RDBMSMapping类型转换的bug修复