南大通用GBase 8a数据库迁移的几种方法探讨(一)

360影视 国产动漫 2025-05-06 16:11 9

摘要:如果现有集群需要扩容,但环境不允许必须新建一套集群,或者需要一套对等测试集群进行业务验证,或者备用集群做容灾,此时都需要数据库的迁移,本文将探讨GBase数据库的几种迁移方法。

如果现有集群需要扩容,但环境不允许必须新建一套集群,或者需要一套对等测试集群进行业务验证,或者备用集群做容灾,此时都需要数据库的迁移,本文将探讨GBase数据库的几种迁移方法。

背景

本文讨论的是数据全部迁移的情况,对于只有部分表迁移的,不在本文讨论范围。

硬件

新集群一般与老集接近,或者要好一些。

数据量大时,比如几百T,几个P的数据,两套集群之间的网络极有可能成为迁移的瓶颈,要提前注意规避。

业务影响

一次性迁移

希望时间越短越好,性能要高

表有可能有优先级,比如历史表有可能允许拖后迁移,优先迁移的表已经可以支撑业务正常运行。

非一次性迁移

要支持增量同步

要运行很多次,操作难度要很低

迁移方案1-备份还原

GBase 8a支持物理层的备份还原gcrman,可以对整个实例做全量和增量备份

参考

GBase 8a表级全量和增量备份还原功能测试gcrcman.py)

空间要求

此方案会将数据以文件的形式备份到指定目录,所以对磁盘空间有要求。

集群结构要求

还原时,要求集群必须与原始集群完全一样,版本,节点数,主备策略,IP等。

操作要求

简单。

迁移方案2-导出导入

通过select into outfile将数据导出到文件里,然后新集群加载入库。

参考

GBase 8a集群导出数据到文件,支持ftp,sftp,hadoop等

GBase 8a 集群加载sftp 和ftp数据的样例

GBase 8a 集群加载数据LOAD的方法

空间要求

导出文件以平文本文件的形式保存,所以对磁盘空间有要求。

集群结构要求

新集群可以是任意架构,只要空间能保存即可。IP可以不同。

操作要求

复杂。需要人工编写每个表的导出和导入,且要关注空间可用量,已经并发控制。

来源:GBASE南大通用

相关推荐