推荐一款好用的数据一致性校验工具

简介: NineData 是玖章算术旗下的多云数据管理平台,它是一款即开即用的数据管理 SAAS 服务。当前 NineData 已经支持数十种常见同异构数据源(MySQL、SQLServer、CK 等)之间的结构对比、数据对比及数据订正能力。NineData 结构及数据对比作为独立服务,可以灵活支持 IDC、云主机自建及云托管数据源的数据一致性校验及快速修复。从使用体验、产品能力、稳定性及性能等维度综合来看,NineData 是一款综合实例比较强、比较难得的校验工具。

一、为什么需要做数据一致性校验

在数据的服务生命周期过程中,经常会因为数据迁移、主从复制、数据集成等原因产生数据流动及复制。在数据复制过程中,由于人为误操作、软件bug或硬件故障等原因,无法完全规避复制数据的准确性。如何有效保障复制数据的一致性变得至关重要。

当前市面上专门用于解决“数据一致性校验”的工具比较匮乏。很多企业依然在使用:人工抽检的原始解决方案,数据一致性导致的业务故障频发。

举一个客户遇到CASE,客户是一个电商SAAS服务提供商。如同其他SAAS服务,出于成本优化及大租户稳定隔离的业务诉求,经常会涉及用户数据的跨机搬迁。当前,客户并没有对应的数据一致性校验工具,所以,每次迁移完成,都是人工抽核心表进行数据量的检测。正应了“常在河边走,哪有不湿鞋”的俗语,有一次迁移一个大商家数据的时候,在没有完整数据一致性校验的情况下,直接切换商家业务,最终出现因迁移数据【订单】不一致,导致的商家业务故障,给大商家造成比较大的业务影响及品牌影响。

数据一致性校验的重要性.png

数据一致性校验的重要性

二、一个好的工具应该具备哪些能力

同行们血淋淋的经验告诉我们,拥有一个好的数据一致性校验工具是必不可少的【关键时刻能救命~】。那么究竟我们需要怎么样的工具呢。小编认为一款校验工具至少应该具备如下六个特质。
数据一致性校验工具是必不可少的能力.png

数据一致性校验工具是必不可少的能力

1. 能做结构一致性校验

利用表存储数据,几乎成为大部分数据存储的通用标准。所以表结构能否正确迁移直接影响迁移数据的一致性。同时,数据库提供了诸多非表对象,包括视图、存储过程、函数、触发器等。用户一般基于这些对象实现轻量的业务逻辑,所以非表对象的能否成功迁移也会直接影响业务的迁移。由此,小编认为,具备结构一致性的快速校验是校验工具的基础能力。

2. 完善的数据一致性校验

除了结构,数据无疑是另一关键的校验内容。数据存储支持丰富的数据类型,差异化的数据类型默认值、数据格式、字符集以及时区等。因此,能否支持完善的数据类型,屏蔽源及目标数据源在数据范围、数据格式、字符集及时区上的差异,也成为数据校验工具的核心能力。

3. 快速定义不一致内容

数据校验的目的是为了验证数据一致性,并针对不一致数据进行快速补救。所以,能够定位并提供具体不一致的内容也是数据校验工具的重要特质。

4. 快速订正数据的能力

当数据校验定位到不一致内容后,是否能够提供数据订正脚本帮助用户快速修复不一致数据也是校验工具必不可少的基础能力。

5. 校验速度要快,“天下武功唯快不破”

小编认为校验速度够快也是核心要求。尤其在数据迁移、数据集成场景,在这种场景下,数据校验会影响业务停机时间,或者下游数据生产基线【例如,报表生产时间】,对校验时间要求较苛刻。

6. 对数据库的性能影响要可控

校验工具一般都会高并发读取数据库的数据,此时,数据库同时承担着线上的业务应用。如何有效平衡数据校验速度以及数据库稳定性是校验工具应该解决的重要命题。

三、市面上都有哪些常见的方案

1. NineData

官网地址:https://www.ninedata.cloud/

NineData是玖章算术旗下的多云数据管理平台,它是一款即开即用的数据管理SAAS服务。当前NineData 已经支持数十种常见同异构数据源(MySQL、SQLServer、CK等)之间的结构对比、数据对比及数据订正能力。NineData结构及数据对比作为独立服务,可以灵活支持IDC、云主机自建及云托管数据源的数据一致性校验及快速修复。从使用体验、产品能力、稳定性及性能等维度综合来看,NineData是一款综合实例比较强、比较难得的校验工具。

2. Percona-toolkit

percona-toolkit是由数据库厂商percona提供的工具集,其中: pt-table-checksum、 pt-table-sync 提供了MySQL主从复制一致性校验及修复的能力。Pt-table-checksum主要通过在MySQL主中运行checksum query,然后利用MySQL主从复制,query流转到slave中,进行check对比。由于,需要借助MySQL主从复制的能力,percona-toolkit只能应用主从复制场景。其优势在于,当前工具使用比较广泛,成熟度比较高。

3. 云厂商迁移校验工具

配合数据迁移工具,部分云厂商会提供对应的一致性校验能力。当前云厂商提供的校验能力,一般只支持数据校验,不支持结构校验,且数据订正能力比较弱。由于厂商的校验工具是跟迁移工具配合使用,所以,对于不使用迁移工具的数据源,当前不能提供数据校验能力。同时,其对云数据库的迁移支持较好,但是对于云主机上自建数据库以及IDC自建数据库支持不好或不支持。

常见数据一致性方案推荐(NineData).png

常见数据一致性方案推荐(NineData)

四、NineData,即开即用的数据一致性校验服务

正如前面所述的推荐指数来看,NineData提供的结构对比、数据对比功能确实是综合实力比较强,也比较推荐的一款产品。除了基础的全量对比外,NineData还提供了快速对比、周期性对比及不一致复检等多种对比形态。

快速对比,相较于全量对比,快速对比主要用以校验窗口期比较短的情况。快速对比会对数据量、数据分布进行校验,同时会随机抽样一定的比例进行校验。
周期性对比,自定义对比频率及对比方式,NineData会自动周期性调度对比任务进行结构及数据对比。小编理解这个功能应该用于长期数据复制场景的数据对比,例如主从复制、数据容灾、数据多活或数据仓库实时集成等场景。
不一致复检,即针对上一次对比结果中不一致数据进行重新复检。这个功能主要应用于数据订正、主从复制【主从延迟】场景下,进行快速的复检。

接下来,带大家感受下这个产品的使用体验。

1. 配置对比任务

整个任务配置过程很简单,主要分为三个步骤:

选择数据源,即配置对比的源实例及目标实例;
选择对比对象,即配置需要对比的对象,对比对象可以选择库、表|非表、列;
配置映射关系及过滤条件,即配置对比表的映射关系;或者通过配置SQL过滤条件,可以只对关键数据进行对比。
步骤一:配置对比数据源.png

步骤一:配置对比数据源

步骤二:选择对比对象.png

步骤二:选择对比对象

步骤三:映射关系配置.png

步骤三:映射关系配置

2. 对比结果

NineData会提供完善的对比结果,其会定位不一致内容。针对不一致内容,提供快速订正脚本。

结构对比,对比总览.png

结构对比,对比总览


结构对比,展示不一致内容.png

结构对比,展示不一致内容

数据对比,对比结果.png

数据对比,对比结果


数据对比,不一致详情.png

数据对比,不一致详情

五、最后

数据作为企业的核心资产,数据的准确性关于业务可靠性及企业品牌口碑。为此,还是推荐大家在线上主从环境、数据迁移、数据复制等场景中,配套使用可靠的数据校验工具。平台工具 NineData 以其完善的校验能力、产品体验、校验速度、稳定性及数据源环境的广泛适配性成为了市面上比较出彩的校验工具,推荐大家使用。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
存储 分布式计算 算法
大数据中一致性检查
【10月更文挑战第20天】
1399 2
|
SQL 存储 监控
NineData|如何快速完成MySQL数据的差异对比?
NineData 是一款功能强大的数据库对比工具,能够帮助企业追踪数据库的变化、发现问题并快速修复。相比其他工具,NineData 具有以下优势:即开即用、全面的数据源支持、完善的对比功能、快速高效、可视化界面、一键差异修复、免费使用、安全可靠。使用 NineData,您可以快速配置对比任务、查看对比结果、修复不一致内容、验证修复结果,并查看任务日志和监控指标。让数据库对比变得更简单、高效、安全。
3776 0
|
网络安全
ssh-正向与反向代理
SSH使用与反代
821 0
|
存储 数据处理 计算机视觉
【小白必看】Python词云生成器详细解析及代码实现
【小白必看】Python词云生成器详细解析及代码实现
1481 1
|
NoSQL 关系型数据库 MySQL
MySQL篇(三)MySQL数据实时增量迁移方案
MySQL数据实时增量迁移方案。
2394 0
|
SQL 运维 关系型数据库
阿里云DTS踩坑经验分享系列|数据不一致修复大法
阿里云数据传输服务DTS在帮助用户迁移数据、同步数据时,在某些复杂场景下会出现源库与目标库数据不一致的问题,造成数据错误,给用户带来困扰。由于数据不一致的问题很难完全避免,为了及时修复不一致的数据,DTS产品推出数据订正功能,保障用户在同步\迁移数据时的数据一致性。本文介绍了产生数据不一致的一些典型场景,并重点阐述了如何使用DTS数据订正功能来修复不一致的数据。
1714 4
|
数据管理 Devops 关系型数据库
NineData社区版正式上线,支持一键本地化部署!
3月10日,玖章算术正式发布NineData社区版,这是一款免费、一键安装的数据管理解决方案,支持本地化部署,保障数据隐私与合规。它包含数据库DevOps、数据复制和数据库对比三大核心功能,适用于MySQL、PostgreSQL和Doris等数据库的数据迁移。基于Docker技术,用户可通过简单命令完成安装,特别适合内网环境及中小企业使用,助力高效的数据管理和成本控制。
1348 1
|
SQL 人工智能 DataWorks
DataWorks:新一代 Data+AI 数据开发与数据治理平台演进
本文介绍了阿里云 DataWorks 在 DA 数智大会 2024 上的最新进展,包括新一代智能数据开发平台 DataWorks Data Studio、全新升级的 DataWorks Copilot 智能助手、数据资产治理、全面云原生转型以及更开放的开发者体验。这些更新旨在提升数据开发和治理的效率,助力企业实现数据价值最大化和智能化转型。
3871 7
|
算法 网络协议 数据安全/隐私保护
NTP网络时间同步协议详解
NTP协议是互联网上用于同步计算机时间的标准,它利用分布式时间服务器网络,通过分层管理和本地路由算法确保时间的准确性。协议涉及时间偏差、延迟和差量三个概念,用于测量与参考时钟的同步状态。基本NTP数据包包含48字节,如头部和时间戳,关键字段如跳跃指示器(LI)、版本号(VN)、模式(Mode)、层次(Stratum)等影响同步过程。协议还包括时间戳以记录不同阶段的时间点。NTP认证可选,用于数据安全。
NTP网络时间同步协议详解

热门文章

最新文章