首页 > 其他分享 >openGauss-数据校验gs_datacheck

openGauss-数据校验gs_datacheck

时间:2024-08-29 09:51:35浏览次数:4  
标签:gs datacheck 校验 增量 openGauss 数据

openGauss- 数据校验 gs_datacheck

可获得性

本特性自openGauss 3.0.0版本开始引入。

特性简介

gs_datacheck 工具是一个基于JDK11 + Springboot2.6.7 框架实现openGauss/MySQL之间的同构与异构之间的数据校验。该工具提供了全量数据的校验以及增量数据的实时校验能力,可实现数据一致性校验。

客户价值

通过使用gs_datacheck工具,可完成数据从openGauss/MySQL之间的同构与异构之间的数据库数据一致性检查。

特性描述

gs_datacheck工具提供数据全量和增量校验功能,可以对openGauss/MySQL之间的同构与异构之间的数据库的数据进行一致性校验。

  • 全量校验:

    在全量数据迁移完成后,由extract服务对源端和目标端数据通过JDBC方式进行数据抽取然后规整计算,并将计算后的中间数据推送到kafka中。最后由check服务提取kafka中的中间数据,构建默克尔树,通过默克尔树比对实现表数据校验且输出校验结果。

  • 增量校验:

    由debezium服务侦听源端MySQL数据库的增量数据,到指定topic。再由源端extract服务处理该topic增量数据,触发check增量校验。

特性增强

  • 自openGauss 6.0.0-RC1版本 数据校验工具支持源端是openGauss/MySQL的校验,包括全量校验与增量校验。
  • 自openGauss 6.0.0-RC1版本 数据校验实现大表分片校验,提升抽取校验整体性能。具体参数配置参考《校验工具使用指导》( https://gitee.com/opengauss/openGauss-tools-datachecker-performance/blob/master/校验工具使用指导.md)中7.4章节的数据校验调优配置。
  • 自openGauss 5.1.0版本 数据校验工具支持源端是openGauss的校验,包括全量校验与增量校验。
  • 自openGauss 5.1.0版本 表记录抽取任务分片规则进行优化,实现抽取校验性能的提升。( 在50张表每张表1千万记录场景下,校验性能使用sysbench模型以及t_datacheck_templete模型,校验速率达到20万条/秒,其中使用t_datacheck_templete模型可以达到(150+M/s) )(具体模型参考 https://gitee.com/opengauss/openGauss-tools-datachecker-performance中《校验工具使用指导.md 》7.1章节,表设计)

特性约束

  • JDK版本要求JDK11+
  • 当前版本仅支持对源端openGauss/MySQL,目标端openGauss/MySQL数据校验
  • 当前版本仅支持数据校验,不支持表对象校验
  • MYSQL需要5.7+版本
  • 当前版本不支持地理位置几何图形数据校验
  • 数据校验行级过滤规则配置,只支持[offset,count]指定范围内抽取,不支持排除[offset,count]范围之内的数据过滤。
  • 行过滤规则抽取中间范围内数据(例如:[10,100]),如果源端在该范围之前的数据[0,10]发生删除操作,则会导致该表在指定范围内数据发生偏移,从而导致数据校验结果产生差异。此时需要扩大前置下标范围,以及增加相应的抽取数量。即[3,107]。
  • 当对主键的update语句没有通过增量迁移同步到目的端 或 主键同步发生错误的时候,进行数据校验,源端update后的新数据和目标端的旧数据是两条独立的数据,对校验差异进行处理时,会生成两条语句,即对旧数据进行删除,对新数据做插入。此场景会将一条主键update语句拆分为两条语句(insert+delete)来执行,且分解到两个事务中执行,无法保证原子性。
  • 增量校验不支持表级规则
  • 增量校验不支持行级规则
  • 增量校验目前只支持数据增删改校验,暂时不支持表结构(对象)校验(包括多表少表)

依赖关系

无。

参考文档

开源社区地址: gs_rep_portal

详细参考文档: README.md

数据校验社区地址:gs_datacheck

详细参考文档: 校验工具使用指导.md

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:gs,datacheck,校验,增量,openGauss,数据
From: https://www.cnblogs.com/xiaoxu0211/p/18385900

相关文章

  • openGauss-索引推荐
    openGauss-索引推荐可获得性本特性自openGauss1.1.0开始引入。特性简介本功能是一个覆盖多种任务级别和使用场景的数据库智能索引推荐工具,其具备单Query索引推荐功能、虚拟索引功能、workload级别索引推荐功能,可以为用户提供可靠的索引建议。客户价值为客户提供快速可靠的......
  • openGauss-统一审计机制
    openGauss-统一审计机制可获得性本特性自openGauss1.1.0版本开始引入。特性简介审计机制是行之有效的安全管理方案,可有效解决攻击者抵赖,审计的范围越大,可监控的行为就越多,而产生的审计日志就越多,影响实际审计效率。统一审计机制是一种通过定制化制定审计策略而实现高效安全......
  • openGauss-透明数据加密
    openGauss-透明数据加密可获得性本特性自openGauss2.1.0版本开始引入。特性简介透明数据加密(TransparentDataEncryption),是数据库在将数据写入存储介质时对数据进行加密,从存储介质中读取数据时自动解密,防止攻击者绕过数据库认证机制直接读取数据文件中的数据,以解决静态数据......
  • openGauss-支持线程池高并发
    openGauss-支持线程池高并发可获得性本特性自openGauss1.0.0版本开始引入。特性简介通过线程池化技术来支撑数据库大并发稳定运行。客户价值支撑客户大并发下,系统整体吞吐平稳。特性描述线程池技术的整体设计思想是线程资源池化、并且在不同连接之间复用。系统在启动之......
  • openGauss-资源池化主备双集群容灾
    openGauss-资源池化主备双集群容灾特性简介本特性实现主备双集群的xlog日志同步,保证主备双集群的xlog一致性,从而增强主备双集群的容灾能力,降低存储空间,并保证主备集群内节点切换、主备集群间切换功能正常。本特性分为两种模式:基于网络的流复制模式:资源池化网络双集群部署......
  • openGauss-子事务并发回滚流程优化
    openGauss-子事务并发回滚流程优化可获得性本特性自openGauss5.1.0版本开始引入。特性简介本特性利用ProcArrayGroup数据结构管理所有抢占ProcArrayLock锁失败的backends,由第一个进入group的backend作为groupleader负责请求ProcArrayLock锁,并在获取到锁后清理group中所有ba......
  • openGauss-资源池化多机并行
    openGauss-资源池化多机并行可获得性本特性自openGauss6.0.0-RC1版本开始引入。特性简介SPQ(SharedEverythingParallelQuery)是在openGauss开源数据库上的一个多机并行查询框架,该框架部署在资源池化场景内,该场景下集群部署的为一写多读架构,集群下存在一个写/读节点和多个读......
  • openGauss-资源池化可维护性增强
    openGauss-资源池化可维护性增强gs_collector适配资源池化DMS资源统计视图gs_probackup适配资源池化详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss-资源池化算子卸载
    openGauss-资源池化算子卸载可获得性本特性自openGauss5.1.0版本开始引入。特性简介共享存储虽然带来弹性,可靠性的好处,但是和本地盘单机比较性能会下降较多,主要是网络IO和分布式存储自身带来的延迟,尤其对于大规模查询bufferpool无法缓存的场景,大量的数据需要从存储节点搬......
  • openGauss-资源池化特性说明
    openGauss-资源池化特性说明可获得性本特性自openGauss3.1.1版本开始引入。特性简介本特性提供主备机共享一份存储的能力,实现基于磁阵设备的资源池化HA部署形态,解决传统HA部署下存储容量较单机翻倍的问题,同时备机支持实时一致性读。资源池化架构图如下图所示。图1资源......