了解更多Greenplum相关内容,欢迎访问 Greenplum中文社区网站
作者:阿福
1.写在前面
最近社区的小伙伴一直在问 gpbackup
的问题,今日索性看了看源码,整理一个 gpbackup
的主题分享给大家,希望能够帮到大家。
gpbackup
的分享主题计划分成3部分:
- gpbackup简介与源码编译
- gpbackup详细使用方法
- gprestore详细使用方法及总结
那么这篇文章,我们首先来介绍一下 gpbackup
,然后从github上拉取源码进行编译。
2.gpbackup简介
Greenplum是MPP架构的分析型数据库,其核心源码从2015年的v4.3版本开始开源至今,已经有6年多的时间了,起初,开源版本的并行备份恢复工具叫 gpcrondump
和 gpdbrestore
。由于这个工具存在一些已知的缺陷,比如单独备份一个大压缩包导致单表恢复操作时间过长等,官方目前已经开发了替代工具 gpbackup
和 gprestore
并进行了开源,GitHub地址为: https://github.com/greenplum-db/gpbackup 。
已知gpbackup和gprestore适配的Greenplum版本如下:
参考自淼哥的《Greenplum-Database管理员指南6.2》,在此对作者的分享表示感谢,大家也可以学习该文档的“并行备份gpbackup与gprestore”部分,了解更多的相关内容。
- GPDB 4.3.22及以后版本
- GPDB 5.5.0及以后版本
- GPDB 6.0.0及以后版本
这里对各个版本的备份工具做一下总结:
- GPDB 4.x/5.x的某些版本(具体版本参考上面),可以同时使用gpcrondump和gpbackup两种工具;
- GPDB 6.x版本开始,gpcrondump已经去掉了,只能使用gpbackup工具;
- GPDB 6.x版本开始,官方版本的gpbackup提供单独的安装包,需要自行从vmware tanzu下载使用;开源版本的gpbackup可以从 GitHub Relaese 上下载发布包,或者自己进行源码编译。
3.gpbackup源码编译
gpbackup是基于Golang写的,已经有很多网友在网上做了源码分析,这里再絮叨一下源码编译的过程吧,方便大家有一个整体的认识。