表 1 三种备份恢复类型对比
备份类型
|
应用场景
|
支持的介质
|
工具名称
|
恢复时间
|
优缺点
|
逻辑备份与恢复
|
适合于数据量小的场景。
可以备份单表和多表,单database和所有database。备份后的数据需要使用gsql或者gs_restore工具恢复。数据量大时,恢复需要较长时间。
|
磁盘
SSD
|
gs_dump
|
纯文本格式数据恢复时间长。归档格式数据恢复时间中等。
|
导出数据库相关信息的工具,用户可以自定义导出一个数据库或其中的对象(模式、表、视图等)。支持导出的数据库可以是默认数据库postgres,也可以是自定义数据库。导出的格式可选择纯文本格式或者归档格式。纯文本格式的数据只能通过gsql进行恢复,恢复时间较长。归档格式的数据只能通过gs_restore进行恢复,恢复时间较纯文本格式短。
|
gs_dumpall
|
数据恢复时间长。
|
导出所有数据库相关信息工具,它可以导出openGauss数据库的所有数据,包括默认数据库postgres的数据、自定义数据库的数据、以及openGauss所有数据库公共的全局对象。
只能导出纯文本格式的数据,导出的数据只能通过gsql进行恢复,恢复时间较长。
|
物理备份与恢复
|
适用于数据量大的场景,主要用于全量数据备份恢复,也可对整个数据库中的WAL归档日志和运行日志进行备份。
|
gs_backup
|
数据量小数据恢复时间快。
|
导出数据库相关信息的OM工具,可以导出数据库参数文件和二进制文件。帮助openGauss备份、恢复重要数据、显示帮助信息和版本号信息。在进行备份时,可以选择备份内容的类型,在进行还原时,需要保证各节点备份目录中存在备份文件。在数据库实例恢复时,通过静态配置文件中的数据库实例信息进行恢复。只恢复参数文件恢复时间较短。
|
gs_basebackup
|
恢复时可以直接拷贝替换原有的文件, 或者直接在备份的库上启动数据库,恢复时间快。
|
对服务器数据库文件的二进制进行全量拷贝,只能对数据库某一个时间点的时间作备份。结合PITR恢复,可恢复全量备份时间点后的某一时间点。
|
gs_probackup
|
恢复时可以直接恢复到某个备份点,在备份的库上启动数据库,恢复时间快。
|
gs_probackup是一个用于管理openGauss数据库备份和恢复的工具。它对openGauss 实例进行定期备份。可用于备份单机数据库或者数据库实例主节点,为物理备份。 可备份外部目录的内容,如脚本文件、配置文件、日志文件、dump文件等。 支持增量备份、定期备份和远程备份。增量备份时间相对于全量备份时间比较短,只需要备份修改的文件。当前默认备份是数据目录,如果表空间不在数据目录,需要手动指定备份的表空间目录进行备份。当前只支持在主机上执行备份。
|
闪回恢复
|
适用于:
1)误删除表的场景;
2)需要将表中的数据恢复到指定时间点或者CSN。
|
无
|
可以将表的状态恢复到指定时间点或者是表结构删除前的状态,恢复时间快。
|
闪回技术能够有选择性的高效撤销一个已提交事务的影响,从人为错误中恢复。在采用闪回技术之前,只能通过备份恢复、PITR等手段找回已提交的数据库修改,恢复时长需要数分钟甚至数小时。采用闪回技术后,恢复已提交的数据库修改前的数据,只需要秒级,而且恢复时间和数据库大小无关。
闪回支持两种恢复模式:
- 基于MVCC多版本的数据恢复:适用于误删除、误更新、误插入数据的查询和恢复,用户通过配置旧版本保留时间,并执行相应的查询或恢复命令,查询或恢复到指定的时间点或CSN点。
- 基于类似windows系统回收站的恢复:适用于误DROP、误TRUNCATE的表的恢复。用户通过配置回收站开关,并执行相应的恢复命令,可以将误DROP、误TRUNCATE的表找回。
|
当需要进行备份恢复操作时,主要从以下四个方面考虑数据备份方案。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。