前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[转载]介绍 pgCompare:终极多数据库数据比较工具

[转载]介绍 pgCompare:终极多数据库数据比较工具

作者头像
保持热爱奔赴山海
发布2024-06-27 15:26:42
1150
发布2024-06-27 15:26:42
举报
文章被收录于专栏:饮水机管理员饮水机管理员

在不断发展的数据管理领域,确保跨多个数据库系统的一致性和准确性至关重要。无论您是迁移数据、同步系统还是执行例行审计,跨不同数据库平台比较数据的能力都至关重要。使用 pgCompare,这是一款开源工具,旨在简化和增强跨 PostgreSQL、Oracle、MySQL 和 MSSQL 数据库的数据比较过程。

pgCompare 的主要特点:

  • 多数据库支持:pgCompare 以其连接和比较四大数据库系统(PostgreSQL、Oracle、MySQL 和 MSSQL)数据的能力而脱颖而出。这种多数据库支持对于管理各种数据库技术的组织至关重要。
  • 比较报告:pgCompare 生成详细报告,突出显示数据集之间的差异。这些报告包括有关缺失记录、不匹配值和汇总统计信息的信息,使用户能够快速识别和解决不一致问题。
  • 存储的结果:结果存储在 Postgres 数据库中,用于跟踪历史比较、当前状态和警报。
  • 灵活的比较选项:用户可以使用各种选项(例如转换数据和排除特定列)自定义比较。这种灵活性可确保比较能够满足特定要求。
  • 性能和可扩展性:pgCompare 以性能为中心,能够高效处理大型数据集,对源系统和目标系统的影响最小。其灵活的架构确保它能够满足小型和大型数据集的需求。

pgCompare 入门

PgCompare 是一款开源工具,任何人都可以免费使用,而且 pgCompare 入门非常简单。该工具可以从官方 git 存储库https://github.com/CrunchyData/pgCompare下载,用户可以在其中找到详细的文档和教程,帮助他们配置和运行首次比较。凭借其强大的功能集和易用性,pgCompare 将成为数据库专业人员不可或缺的工具。

pgCompare 以应用程序的形式在您选择的位置运行,可以是本地计算机,也可以是更靠近数据存储的远程计算机。pgCompare 创建一个单独的 Postgres 数据库,用于运行查询以从远程数据存储中获取数据。您将在 中配置比较的详细信息dc_table

编译 Java 源代码后(有关详细信息,请参阅自述文件),第一步是将文件复制pgcompare.properties.samplepgcompare.properties存储库、目标和源数据库并进行必要的编辑。有了属性文件后,使用 pgcompare 初始化存储库。

代码语言:javascript
复制
java -jar pgcompare.jar --init

git 存储库的数据库目录中有一个示例表。如果您尚未准备好表,请将 HR.EMP 表部署到您选择的源数据库和目标数据库。

执行比较之前的最后一步是将表注册到 pgCompare 存储库。为此,只需使用发现标志执行 pgCompare,然后使用应针对其执行发现的架构(本例中为 hr)。

代码语言:javascript
复制
java -jar pgcompare.jar --discovery hr

要比较数据库,请运行以下命令:

代码语言:javascript
复制
java -jar pgcompare.jar --batch=0

比较的摘要输出将出现在作业的末尾:

代码语言:javascript
复制
Reconciliation Complete:  Table = emp; Equal = 21; Not Equal = 1; Missing Source = 1; Missing Target = 0
Processed 1 tables
Table Summary: Table = emp                           ; Status = out-of-sync ; Equal =                  21; Not Equal =                   1; Missing Source =                   1; Missing Target =                   0
Run Summary:  Elapsed Time (seconds) = 7; Total Rows Processed = 23; Total Out-of-Sync = 2; Through-put (rows/per second) = 3

最后,如果有不同步的行,则可以使用检查选项执行每行的详细信息以及重新验证:

代码语言:javascript
复制
java -jar pgcompare.jar --batch=0 --check

检查完成后将显示不同步行的详细信息:

代码语言:javascript
复制
Primary Key: {"eid":23}
  Out-of-Sync:  PK = {"eid": 23};  Differences = [{"LAST_NAME":{"source":"Runner","target":"Pace"}}]
Primary Key: {"eid":22}
  Out-of-Sync:  PK = {"eid": 22};  Differences = ["Missing Source"]

pgCompare 的用例

数据迁移

在将数据从一个数据库平台迁移到另一个数据库平台时,确保所有记录都已准确传输至关重要。例如,Crunchy 数据库迁移团队使用此工具在 Oracle 到 Postgres 的迁移过程中验证数据。在停用旧系统之前,创建用于验证数据一致性的数据验证工件也很有用。

数据同步

对于同时运行多个数据库的组织,保持这些系统之间的同步至关重要。对主动/主动配置的需求持续增长。这些解决方案使用逻辑复制,这会带来风险。为了控制这种风险,引入补偿控制,pgCompare 有助于定期检查和同步不同数据库之间的数据。

监管合规性

许多行业都需要定期审计以确保数据准确性和合规性。pgCompare 通过提供清晰详细的比较报告简化了审计流程。审计人员和监管机构始终需要证据证明数据没有发生分歧。pgCompare 的输出有助于满足这一要求。

质量保证

在开发和测试环境中,pgCompare 可用于验证数据在应用程序开发和部署的各个阶段是否保持一致。如果针对不正确或过时的数据进行测试,则可能会增加生产发布的风险。

为什么 pgCompare 会改变游戏规则

传统的数据比较方法通常涉及手动流程或脚本,这些流程或脚本容易出错且需要大量维护。许多解决方案依赖于比较行数,而这并不能证明数据确实相等。pgCompare 通过提供可靠的自动化解决方案彻底改变了这一过程,降低了出错风险并节省了宝贵的时间。

  • 效率:自动化数据比较减少了手动检查所需的时间和精力,使数据库管理员和数据工程师能够专注于更具战略性的任务。
  • 准确性:通过利用先进的算法,pgCompare 确保精确识别差异,从而增强数据完整性。
  • 集成:通过支持多种数据库,pgCompare 可以无缝集成到不同的 IT 环境中,使其成为任何组织的多功能工具。

在数据准确性和一致性至关重要的世界中,pgCompare 提供了一种可靠、高效且可扩展的解决方案,用于比较 PostgreSQL、Oracle、MySQL 和 MSSQL 数据库中的数据。无论您是数据库管理员、数据工程师还是 IT 经理,pgCompare 都是您确保数据保持一致和可靠的工具。

使用 pgCompare 拥抱数据比较的未来,并改变您管理多数据库环境的方式。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • pgCompare 入门
  • pgCompare 的用例
    • 数据迁移
      • 数据同步
        • 监管合规性
          • 质量保证
          • 为什么 pgCompare 会改变游戏规则
          相关产品与服务
          云数据库 MySQL
          腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档