龙空技术网

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

NineData 161

前言:

当前我们对“sql 迁移”可能比较关注,看官们都需要知道一些“sql 迁移”的相关文章。那么小编也在网摘上收集了一些关于“sql 迁移””的相关资讯,希望兄弟们能喜欢,朋友们一起来学习一下吧!

PostgreSQL是一种备受开发者和企业青睐的关系型数据库,其丰富的数据类型、地理空间负载和强大的扩展能力等特性使其备受欢迎。然而,在企业使用PostgreSQL承载应用的过程中,由于业务需要上云、跨云、下云、跨机房迁移、跨地域迁移、数据库版本升级、扩缩容等场景的普遍存在,因此需要进行PostgreSQL的迁移。

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

1. 传统的迁移方案

当前,常见的PostgreSQL迁移方案为备份恢复、pg_dump/pg_restore,这两种迁移方案普遍存在如下的问题:

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

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

PostgreSQL数据迁移过程|NineData

除了提供业务不停服的迁移能力外,NineData提供的PostgreSQL还具有如下能力:

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

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

1. 配置复制任务

视频加载中...

基于上述操作即可轻松、可靠得完成PostgreSQL的数据迁移。完成PostgreSQL任务配置后,NineData会自动进行结构迁移、全量数据迁移及增量数据复制。

当数据迁移完成后,也可以配置对应的结构对比、数据对比进行结构一致性及数据一致性的校验。下面会进行对比任务的配置演示。

2. 结构对比

视频加载中...

3. 全量数据对比

视频加载中...

4. 写在最后

除了PostgreSQL,NineData还支持数十种常见数据库的迁移和复制。除了SAAS模式,NineData还提供企业专属集群模式,以满足企业对于数据安全和合规性的最高要求。目前,NineData已在运营商、金融、制造业、地产、电商等多个行业完成大规模应用实践。

标签: #sql 迁移