使用 gt-checksum 分析迁移对象

Python企业级工程实践:25年技术韧性与生产就绪指南 Python作为一门解释型语言,其核心价值不在于语法简洁或入门门槛低,而在于构建可长期演进、高协作效率、强故障可溯的生产系统的能力。从基础的`import`机制到`Pydantic`定义的数据契约,从`mypy`驱动的静态类型治理到`Polars`+`numba`支撑的边缘计算,Python通过清晰的抽象边界、确定性的依赖管理(如Poetry)和渐进式复杂度设计(如`async/await`),实现了‘快速启动’与‘稳健生长’的统一。它在数据科学、AI工程、混合云部署及Rust/C互操作等关键场景中,展现出 阅读详情

使用 gt-checksum 分析迁移对象

背景

本文以从 ORACLE 迁移到 GreatSQL 为例讲述如何使用gt-checksum分析迁移对象。

关于gt-checksum

gt-checksum 是 GreatSQL 社区开源的一款静态数据库校验修复工具,支持MySQL、Oracle等主流数据库。如下是一个简单的分析迁移对象的使用案例。

本次使用的是 gt-checksum 商业版本

为什么需要分析迁移对象?

首先我们通过一个项目案例来说明一下去O过程中为什么需要分析迁移对象。

项目背景

当前有个去O项目,总共3000张业务表 ,总数据量大概在3T左右,业务方要求在3小时内迁移完成。

思考

这时,我们就要思考,如何能在规定时间内完成迁移?影响迁移效率的因素有哪些?

索引的选择性

业务表有没有索引;是主键索引还是普通索引;是全局索引还是本地索引;若存在索引,索引的离散度如何。

元数据合理性

业务表中有没有lob或者text字段,若存在,总共有多少个lob或text字段;业务表是否是分区表,表的分区类型是什么以及总共有多少个分区。

表的数据量

每张表各有多少数据量,百万级、千万级还是亿级别。

上述的这些信息,通过gt-checksum的迁移对象分析,我们都可以获取到。

下面开始分析流程。

如何分析迁移对象?

配置gc-task.cnf配置文件

分析行为依赖于配置文件 config-simple/gc-task.cnf,在分析操作开始前,需要先根据项目实际信息配置好此文件,如下是配置说明。

gc-task.cnf配置说明

DSNs(连接模块)

  • srcDSN:源端连接串
  • dstDSN:目标端连接串
  • srcDSN/dstDSN:格式存在差异 严格根据示例填写 注意双引号不要漏 配置需仔细
  • 密码中有&符号的需要转义处理下(&)

rules(规则模块)

  • object:迁移对象列表 文件名称自定义;格式:库名 分隔符 表名 位置:与gt-checksum在同级目录
  • limiter:迁移对象列表的分隔符,默认为逗号
  • igcount:分析时是否输出表行数 true: 不输出 false: 输出
  • active:生成配置文件类型 struct:表结构 index:索引 sync:数据迁移…

详细说明见 gc-task.cnf 文件注释

object配置说明

object 支持如下四种配置方式:

以迁移PCMS库下BMSQL_WAREHOUSE 、BMSQL_CONFIG、 BMSQL_DISTRICT_TMP三张普通表为例

  • 一般情况 无需映射(迁移到目标端后,库名表名不变)
PCMS,BMSQL_WAREHOUSE
PCMS,BMSQL_CONFIG
PCMS,BMSQL_DISTRICT_TMP

映射关系示意图

SOURCE                 -->  DEST
-- 示例1:PCMS,BMSQL_WAREHOUSE
PCMS.BMSQL_WAREHOUSE   --> PCMS.BMSQL_WAREHOUSE
  • 库映射 (迁移到目标端后,表名不变,库名改变)
PCMS:WLKY,BMSQL_WAREHOUSE
PCMS:WLKY,BMSQL_CONFIG
PCMS:WLKY,BMSQL_DISTRICT_TMP

映射关系示意图

SOURCE                 -->  DEST
#示例1:PCMS:WLKY,BMSQL_WAREHOUSE
PCMS.BMSQL_WAREHOUSE   --> WLKY.BMSQL_WAREHOUSE
  • 表映射 (迁移到目标端后,库名不变,表名改变)
PCMS,BMSQL_WAREHOUSE:BMSQL_WAREHOUSE_0429
PCMS,BMSQL_CONFIG:BMSQL_CONFIG_0429
PCMS,BMSQL_DISTRICT_TMP:BMSQL_DISTRICT_TMP_0429

映射关系示意图

SOURCE                 -->  DEST
#示例1:PCMS,BMSQL_WAREHOUSE:BMSQL_WAREHOUSE_0429
PCMS.BMSQL_WAREHOUSE   --> PCMS.BMSQL_WAREHOUSE_0429
  • 库表映射 (迁移到目标端后,库名表名都改变)
PCMS:WLKY,BMSQL_WAREHOUSE:BMSQL_WAREHOUSE_0429
PCMS:WLKY,BMSQL_CONFIG:BMSQL_CONFIG_0429
PCMS:WLKY,BMSQL_DISTRICT_TMP:BMSQL_DISTRICT_TMP_0429

映射关系示意图

SOURCE                 -->  DEST
#示例1:PCMS:WLKY,BMSQL_WAREHOUSE:BMSQL_WAREHOUSE_0429
PCMS.BMSQL_WAREHOUSE   --> WLKY.BMSQL_WAREHOUSE_0429
gc-task.cnf配置示例
$ cat qianyi 
PCMS,BMSQL_WAREHOUSE
PCMS,BMSQL_CONFIG
PCMS,BMSQL_DISTRICT_TMP

$ cp -r config-simple config
$ cat config/gc-task.cnf
DSNs {
    srcDSN = "oracle|user/password@ip:port/sid"
    dstDSN = "cluster|user:password@tcp(ip:port)/information_schema?charset=utf8mb4"
}

rules {
    task {     
        object = "qianyi"
        limiter = ","
        igcount = false
        active = struct
    }
}

执行分析命令

gc-task.cnf 配置完成后即可进行迁移对象的分析操作,执行命令如下

$ ./gt-checksum -f config/gc-task.cnf

如下输出表示分析操作成功

$ ./gt-checksum -f config/gc-task.cnf
-- gt-checksum init configuration files -- 
-- gt-checksum init log files -- 
-- gt-checksum init check parameter --
-- gt-checksum check parameter legality--
godror WARNING: discrepancy between DBTIMEZONE ("+00:00"=0) and SYSTIMESTAMP ("+08:00"=800) - set connection timezone, see https://github.com/godror/godror/blob/master/doc/timezone.md
----begin read table object file and init table meta data---
----begin write data to xls ---
[gt_tableObjectOptimizer_2025-02-18T15-34-03.xlsx] 元数据校对Excel表格已生成
----begin general gt-checksum config file ---
[gc-struct.cnf] 配置文件已生成
-- gt-task Table object sorting completed !!! --

分析结果解析

分析操作执行成功后,会在 gt-checksum 同级目录下生成分析结果Excel ,文件以 “gt_tableObjectOptimizer_” 为前缀。

sheet说明

Excel中包含三个sheet,各个sheet说明如下:

  • indexTask:有索引的表清单
  • missindexTask:无索引的表清单
  • tableMiss:迁移对象列表中存在,但在源端Oracle环境中不存在的表清单

注意:

  • “迁移对象”指业务方给出的需要做迁移的表清单
  • tableMiss 中的表特别注意,这部分表需要拿出来去跟业务侧确认是否迁移

title 说明

Excel 中含三个 sheet 的 title 一致,内容解析如下:

schema          库名                                                         
table           表名
lobCN           lob字段名称,若无lob字段,相关列为空                            
lobCT           lob字段类型
textCN          text字段名称,若无text字段,相关列为空                      
textCT          text字段类型
indexName       索引名称                                                      
indexType       索引类型
indexColumn     索引字段名称                                              
columnType      索引字段类型
cardinality     索引离散度
rate evaluation 索引离散度等级 有索引表: 优(>50%)良(40%-50%)差(<40%)  无索引表:差(有数据)  优(无数据)
table Rows      表count数  
partition Sum   表分区个数  0:normal表 非0:分区表
table Partition Type     表分区类型                                           
status          表状态  true:表在源端存在  miss:表在源端不存在
taskName        表任务名称

到此就是一个完整的迁移对象分析流程了。

自动驾驶开源数据集全景解析:从KITTI到Waymo的选型与实战指南 在自动驾驶技术研发中,高质量的训练数据是算法模型的基石。开源数据集作为宝贵的公共资源,为研究者和工程师提供了关键的数据支持。其核心原理在于通过多模态传感器(如摄像头、激光雷达)采集真实或仿真环境信息,并辅以精细标注,从而构建可用于模型训练和验证的基准。从技术价值看,合理选用数据集能显著提升感知、预测、规划等模块的精度与鲁棒性,并加速算法迭代。应用场景广泛覆盖2D/3D目标检测、点云分割、轨迹预测乃至端到端驾驶模型开发。本文聚焦自动驾驶领域,深入解析如KITTI、nuScenes、Waymo等主流开源数据集的 阅读详情

相关推荐

CentOS 7下Percona XtraBackup MySQL热备份实战指南

MySQL热备份是保障高可用与数据安全的基础能力,其核心在于绕过SQL层、直接协同InnoDB的redo log与LSN机制实现无锁一致性备份。Percona XtraBackup作为专为InnoDB设计的物理备份工具,通过文件系统级捕获、增量日志重放(apply-log)和流式压缩传输(xbstream),在不中断业务前提下达成秒级RPO与分钟级RTO。相比mysqldump逻辑备份的锁表风险,或LVM快照对存储架构的强依赖,XtraBackup在CentOS 7环境具备ABI兼容性优势与成熟运维生态,尤

weixin_30357231的博客 469

checksum-validator(V1.1.6)

windows平台上,非常好用的哈希值计算工具,可以实现自动对比功能。同时支持一键导出MD5,SHA1,SHA256,SHA512值。

数据校验与修复工具 - GT-Checksum 开源发布

首先,创建一个Checksum实例,并配置要校验和修复的数据库、表和字段,以及校验算法。最后,再次执行校验操作,以验证数据是否已成功修复。它能够帮助用户确保数据的完整性和准确性,并在校验失败时自动修复损坏的数据。数据修复:当数据校验失败时,GT-Checksum可以自动修复损坏的数据。它可以根据校验算法计算出的校验值,与数据库中的实际数据进行比较,并对不一致的数据进行修复。它具有用户友好的界面和灵活的功能,使得数据校验和修复变得更加简单和高效。该工具可以对数据库中的数据进行校验,确保数据的完整性和准确性。

BitCodeW的博客 494

Mysql、Oracle数据比对工具GT-Checksum

【代码】mysql、oracle数据比对工具。

qq_34692500的博客 812

FPGA时序优化与高速接口实战手册

本手册由用户提供的多个 FPGA 时序专题章节合并和补充而成,目标是形成一本可直接用于学习、设计和工程的核心手册。

m0_46644103的博客 1877

【信息科学与工程学】【通信工程】计算机科学与自动化——第二百三十三篇 云NaaS服务 系列二01

国家骨干网(含核心网、IP骨干网、OTN骨干网)/城域网【含3G/4G/5G接入网/PON接入网/OTN接入网+OTN/IP城域网+其他】/中心云(多/双/单Region+多AZ/双AZ/单AZ)+边缘DC+边缘计算节点+端计算节点包括IoT传感器、移动终端、CPE设备。通过5G NR(n78频段,带宽100MHz,子载波间隔30kHz)或GPON(下行2.5Gbps,上行1.25Gbps)接入。本地缓存小于10GB,主要用于临时数据暂存。位于地市级机房,部署MEC服务器(Intel Xeon Platin

weixin_49199313的博客 1337

好用的数据校验&修复工具gt-checksum开源啦

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1. 背景介绍2. 功能特性3. gt-checksum使用3.1 标准使用案例3.2 直接在命令行模式下使用3.3 使用极简配置文件案例4. 项目信息5. 开源发布会不用说,看名字也知道,gt-checksum工具是数据校验工具。没错,gt-checksum 是GreatSQL社区新增的成员,它是 一款静态数据库校验...

老叶茶馆 1108

【信息科学与工程学】计算机科学与自动化——第三百零五篇 数据中心 Scale-Up、Scale-Out、Scale-Across 20

GPU 训练中的各种算子融合技巧、梯度压缩与稀疏通信的高级变体、混合专家模型的负载均衡与通信优化、长序列模型的注意力机制优化、模型量化与蒸馏的联合优化、分布式训练中的容错与恢复、以及一些新兴硬件特性的建模(如 HBM3、GDDR7、CXL 3.0 内存语义、PCIe Gen6 PAM4 信令等)。每条仍然包含四个方程式子节。

weixin_49199313的博客 345

数据库校验利器升级!gt-checksum v1.2.3 正式发布

🎉 数据库校验利器 gt-checksum v1.2.3 正式发布,功能全面升级! 🚀 支持跨库映射、存储过程 / 触发器校验,智能防 OOM,修复 SQL 更完善。 ⚡ 性能提升 3 倍,适配多场景数据一致性校验,运维更省心。

GreatSQL2021的博客 969

【信息科学与工程学】【数据中心】第三十二篇 云数据中心的计算/存储/网络的核心挑战01

状态方程: SOCk+1​=SOCk​−Qn​ik​Δt​;: 三相电流变换到αβ坐标系: iα​=32​​(ia​−21​ib​−21​ic​), iβ​=32​​(23​​ib​−23​​ic​). 计算瞬时有功功率p和无功功率q,经低通滤波器分离直流分量,反变换得基波电流,差值即为谐波指令。: 节点i的信念 bi​(xi​)=ϕi​(xi​)∏j∈N(i)​mji​(xi​), 消息 mij​(xj​)=∑xi​​ϕi​(xi​)ψij​(xi​,xj​)∏k∈N(i)\j​mki​(xi​).

weixin_49199313的博客 218

【人工智能】【GPU芯片】第一篇 GPU算子——璧韧篇01

GPU作为新兴的高性能计算加速平台,其软件栈设计遵循分层抽象、领域优化、异构融合三大原则。算子类别典型算子名称数学方程式/计算描述应用场景优势劣势标量运算​基础算术运算极低延迟,全流水线吞吐量低于向量指令线性代数核心计算单周期融合乘加,高精度需要特定硬件支持向量运算​图像处理、SIMD并行4倍吞吐提升数据需对齐内存点积计算,神经网络专用硬件加速仅支持固定长度矩阵运算​ A/B: f16 4x4矩阵 C/D: f32 4x4矩阵深度学习训练推理高能效矩阵计算编程模型复杂warp级矩阵运算张量核心编

weixin_49199313的博客 1007

Jenkins Master 停机与备份

│ 停机与备份的重要性: ││ ││ 场景1:系统升级/插件更新 → 需要安全停机 ││ 场景2:硬件故障/系统崩溃 → 需要快速恢复 ││ 场景3:数据误操作/配置错误 → 需要回滚到之前状态 ││ 场景4:灾难恢复 → 需要完整的备份和恢复流程 ││ 场景5:环境迁移 → 需要完整的配置和数据迁移 ││ ││ ⚠️ 核心原则: ││ ├── 停机前必须确保构建任务安全完成或可恢复 ││ └── 备份必须包含所有关键数据和配置 ││ ││ 流量切换核心要点 ││ │。

weixin_44044929的博客 717

【信息科学与工程学】计算机科学与自动化——第三百零五篇 计算机系统中的各类运算操作01

编号类型领域运算操作运算类型算法算法的详细设计及数学分析参数列表及参数的数值设计应用场景 (100+条)集合运算​1集合运算关系代数并集 (Union)集合运算归并排序去重合并两个集合,去除重复元素。时间复杂度 O(n+m),n,m为两集合大小。输入:集合A, B。输出:A∪B。数据集成、多表结果合并、去重后的全量数据提取。2集合运算关系代数交集 (Intersection)集合运算哈希交集找出同时属于两个集合的元素。平均时间复杂度 O(min(n,m)),最坏 O(n*m)。输入:集合A, B。输出:A∩

weixin_49199313的博客 1389

MLIR生产化、C++26 ABI绑定与ThinLTO强制化:LLVMCon 2025三大工程拐点

MLIR已从研究型中间表示演进为芯片级AI编译基础设施,其分层Dialect设计、可组合Pass机制和细粒度副作用建模(如SideEffectResource)显著提升编译效率与错误定位能力;与此同时,Clang对C++26的支持转向ABI原子性绑定,放弃渐进式feature flag,强制耦合libc++26以保障二进制兼容性;而LTO架构完成分布式重构,ThinLTO成为链接时IR拓扑分析的强制前置阶段,并引入跨云缓存一致性协议。这三大动向共同指向一个事实:现代编译器基础设施正从‘功能可用’全面迈入‘工

civtsbiqr522632413的博客 409

【信息科学与工程学】【通信工程】第一百九十一篇 路由器体系结构03

编号类型领域问题详细的数学分析(逐步推理)参数列表(表达式 / 数值范围 / 边界 / 测量)关联知识839DCI演进 · 收敛DCI 2030 年三大技术收敛方向步骤1:方向一:IPoDWDM 成为绝对主流(Omdia 2027 59% → 2030 80%+),OTN 退化为 OLS 纯光层。步骤2:方向二:800ZR+ 取代 400ZR 成为主力速率,PCS 使 800G 达 600–1000km。步骤3:方向三:AI 集群 DCI 催生 1.6T/3.2T 超短距(<10km)相干模块(OSFP-X

weixin_49199313的博客 860

gt-checksum-开源静态数据库校验修复工具-MySQL主从复制数据一致性校验-MGR组复制节点修复-上云下云迁移数据验证-异构数据库Oracle到MySQL迁移校验-定期高.zip

gt-checksum_开源静态数据库校验修复工具_MySQL主从复制数据一致性校验_MGR组复制节点修复_上云下云迁移数据验证_异构数据库Oracle到MySQL迁移校验_定期高.zip嵌入式通信协议与 Debug 实战指南

Linux命令不是语法清单,而是系统认知地图

Linux命令本质是操作系统四大子系统(文件、进程、内存、网络)的交互接口,其设计遵循Unix哲学与内核机制。理解`df`与`du`差异需掌握inode和文件删除语义,剖析`kill`信号需知晓`SIGTERM`与`SIGKILL`的进程生命周期语义。这些命令组合背后是权限模型、调度策略、VFS抽象等底层原理,技术价值在于实现可复现、可诊断、可扩展的运维实践。典型应用场景包括服务器状态监控、故障排查、日志治理与容器化交付。本文以系统认知维度重构50+核心命令,聚焦真实终端中的参数推演与双环境验证。

注重长远 天天积累 cqujsjcyj 495

VideoPose3d:环境搭建+制作自己的视频

论文链接:3D human pose estimation in video with temporal convolutions and semi-supervised training 代码链接:https://github.com/facebookresearch/VideoPose3D 环境搭建:ubuntu20.04+pytorch1.8+cuda10.2+python3.6+anaconda 1.启动anaconda环境 新建环境命令: conda create -n pytorc.

willbetter01的博客 4942
上一篇: Java程序使用预处理语句的性能提升
下一篇: GreatSQL Hash Join 条件列长度对执行计划的影响
GreatSQL社区
博客等级 码龄5年 1210粉丝 390原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值