File tree 1 file changed +31
-0
lines changed
1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change
1
+ ## 项目介绍
2
+
3
+ - 背景:本项目是从真实实践过的业务项目中拆分出来的,代码全部由本人独自开发
4
+ - 实践:进行过线上两次数据迁移和多次数据清理工作,数据量级(亿级别,理论无上限)
5
+ - 适用场景:【线上不停机】项目重构时的数据迁移,脏数据清理,更换数据库(eg,Qracle >> MySQL),数据修复等操作,且支持跨实例操作
6
+ - 性能:视具体数据库性能而定(只要数据库性能足够好,此项目的处理性能就足够高)
7
+
8
+ ## 使用介绍
9
+
10
+ > 日志排查 Log:` 处理的ID范围 `
11
+
12
+ - 数据迁移表示例
13
+
14
+ | 数据迁移顺序 | data:migrate: task | data:migrate: offset | .threadNum (默认) | .qps (默认) | .everyCommitCount (默认) |
15
+ | :----------: | :---------------: | :---------------------------------: | :----------------: | :----------: | :-----------------------: |
16
+ | 1 | message.migrate | source.message#id in [ 15550, 17037] | 4 | 900 | 1500 |
17
+ | ... | ... | ... | ... | ... | ... |
18
+
19
+
20
+ - 数据清理表示例
21
+
22
+ | 数据清理顺序 | data:migrate: task | data:migrate: offset | .threadNum (默认) | .qps (默认) | .everyCommitCount (默认) |
23
+ | :---------------------------------------------: | :---------------: | :-----------------------------------------: | :----------------: | :----------: | :-----------------------: |
24
+ | target.message【截止5月2日10点,2310087836条数据】 | message.clean | target.message#message_id in [ 16187, 17037] | 4 | 900 | 1500 |
25
+ | ... | ... | ... | ... | ... | ... |
26
+
27
+ 操作步骤:
28
+
29
+ - 调用` updateValueByKey ` 接口更新` data:migrate:offset ` 的值(迁移或清理数据时的` 段起始值 ` ,具体含义可以去看代码)
30
+ - 调用` updateValueByKey ` 接口更新` data:migrate:task ` 为具体的 task,开始进行数据迁移 or 数据清理任务
31
+ - 观察日志,如果发现处理的数据已经超过了想要处理的阈值,调用` updateValueByKey ` 接口更新` value ` 为空字符串,来停止 task
You can’t perform that action at this time.
0 commit comments