如何快速完成PostgreSQL数据迁移-NineData

PostgreSQL因其丰富的数据类型、地理空间负载及强大的扩展能力等特性,使其成为颇受开发者及企业青睐的关系型数据库。在企业使用PostgreSQL承载应用的过程中,会因为业务上云/跨云/下云/跨机房迁移/跨地域迁移、或数据库版本升级、扩缩容等场景,普遍存在PostgreSQL的迁移诉求。

在PostgreSQL的迁移过程中,其迁移时间、迁移数据准确性及迁移过程中业务的停机要求无疑是影响迁移能否成功的关键因素。由此,如何选择合适的迁移工具,提供高效、安全、准确的迁移能力至关重要。

1. 传统的迁移方案

当前,常见的PostgreSQL迁移方案为备份恢复、pg_dump/pg_restore,这两种迁移方案普遍存在如下的问题:
  1. 停机时间长,上述方案通常要求,在数据库迁移期间,业务停止服务,停服时间通常高达数小时/上天,对业务的挑战极大。特别当迁移难度较高时,通常反复多次迁移,业务停服时间更不可控。
  2. 可靠性不高,客户端工具不提供迁移过程的观测、诊断与修复能力,很容易出错。
  3. 数据准确性难保障,此类工具因不提供对应的质量检测能力,所以迁移的数据质量一般难以保障。
  4. 大数据量迁移挑战,因其性能及容灾能力不足,不能很好支撑大数据量、大表的迁移。

2. 业务不停机迁移方案

为解决用户面临的PostgreSQL迁移问题,玖章算术旗下的云原生智能数据管理平台NineData 推出了PostgreSQL 业务不停服数据迁移能力。NineData实现了完全自动化的结构迁移、全量数据迁移,以及变更数据的迁移。其中,变更数据迁移能力,能够在结构迁移及全量数据迁移期间,实时监听源PostgreSQL中的变更数据,并在完成全量迁移后,将变更数据实时复制到目标PostgreSQL,实现源/目标PostgreSQL的动态复制。基于变更数据迁移能力,在PostgreSQL数据迁移过程中,业务可以正常提供服务,无需停服。最终,业务可根据需要选择对应时间点切换到目标PostgreSQL,具体流程如下图。

 
除了提供业务不停服的迁移能力外,NineData提供的PostgreSQL还具有如下能力:
  1. 大数据量或大表的迁移能力,基于智能分片、动态攒批、并发迁移、表级断点续传等多种技术能力,提供强劲迁移能力。
  2. 结构及数据一致性对比,NineData提供了PostgreSQL的结构对比及数据对比能力,能够进行高效的一致性对比,快速识别差异对象或数据,并提供对应的订正SQL,快速订正修复差异内容,有效保障迁移数据质量。
  3. 可观测可干预能力,NineData提供详细的迁移状态、进展及详情信息,当出现迁移异常时,会提供多种诊断修复能力,帮助您保障任务稳定性。同时,提供迁移限流能力,您可根据业务需要,自定义迁移速度,保障PostgreSQL的稳定性。

 

3. 一分钟启动全自动化迁移

虽然提供了比较强大的PostgreSQL的迁移能力,但是NineData使用起来非常简单,只需要花1分钟时间完成任务配置,即可以完全自动化完成数据的迁移过程。下面我们来看下整个任务的配置过程:

1. 配置复制任务

 
基于上述操作即可轻松、可靠得完成PostgreSQL的数据迁移。返回完成PostgreSQL任务配置后,NineData会自动进行结构迁移、全量数据迁移及增量数据复制。
当数据迁移完成后,也可以配置对应的结构对比、数据对比进行结构一致性及数据一致性的校验。下面会进行对比任务的配置掩饰。

2. 结构对比

 

3. 全量数据对比

4. 写在最后

除了PostgreSQL,NineData还支持数十种常见数据库的迁移和复制。除了SAAS模式,NineData还提供企业专属集群模式,以满足企业对于数据安全和合规性的最高要求。目前,NineData已在运营商、金融、制造业、地产、电商等多个行业完成大规模应用实践。如果您感兴趣的话,可以登录官网 https://www.ninedata.cloud/dbmigration立即开始免费使用。