一文详解数据仓库的物理细粒度备份恢复

一文,详解,数据仓库,物理,细粒度,备份,恢复 · 浏览次数 : 11

小编点评

**华为云数仓数据可靠保证——物理细粒度备份恢复** **直播主题:备份恢复全掌握,数仓数据更安全** **直播主持人:华为云EI DTSE技术布道师李文鑫** **主题:物理细粒度备份恢复** **直播内容:** * 华为云EI DTSE技术布道师李文鑫介绍了GaussDB(DWS)物理细粒度备份恢复的概念和功能。 * 了解如何通过细粒度备份恢复一张表或多个表,节省空间并提高恢复效率。 * 介绍了物理细粒度备份恢复的具体流程,包括表定义、物理文件备份和恢复。 * 强调了物理细粒度备份恢复的优势,如节省空间、提高恢复效率和确保数据完整性。 **直播重点:** *物理细粒度备份恢复是一种在线恢复方式,可以精确恢复只该表或多个表的特定数据。 *该方法比集群级备份恢复更快速和高效。 * 它可以基于命令行参数实现,方便操作。

正文

本文分享自华为云社区《DTSE Tech Talk | 第43期:数仓数据可靠保证——物理细粒度备份恢复》,作者:华为云社区精选。

大数据时代,数据对企业的重要性不言而喻,如果发生数据丢失或因为误操作而造成数据丢失,将对企业的经营决策带来不可估量的损失。本期《备份恢复全掌握,数仓数据更安全》的主题直播中,我们邀请到华为云EI DTSE技术布道师李文鑫,针对GaussDB(DWS) 物理细粒度备份恢复与开发者和伙伴朋友们展开交流互动。

GaussDB(DWS)的备份恢复工具

为了应对故障场景,防止数据丢失,GaussDB(DWS)提供了两道防线,以保障数仓安全,分别是:高可靠技术和备份恢复技术。高可靠技术是第一道防线,备份恢复技术是最后一道防线。

GaussDB(DWS)的备份恢复工具—Roach,提供了备份、恢复、容灾功能。备份恢复部分包括集群级备份、集群级恢复、物理细粒度备份、物理细粒度恢复、逻辑备份和恢复;容灾部分包括双集群容灾、双集群迁移、细粒度容灾。

cke_114.png

为什么需要使用物理细粒度备份恢复?

假设我们误删了一张表,想通过备份将这张表恢复出来,如果我们采用集群级恢复的方式,那么就需要对整个集群的数据进行恢复,这显然不是我们想要的。而如果采用细粒度恢复的方式,我们就可以精确的只将这张表恢复出来。

类似这样的场景有很多,实际使用中集群级的故障并非是一个高概率的事情,我们细粒度恢复一张表或一个schema才是更加实际的需求。

物理细粒度备份恢复优势

节省空间

相比于集群级备份海量的数据备份恢复,物理细粒度备份针对重点文件进行备份,省去了无关数据的备份,节约大量的空间

节约时间

走物理文件拷贝的流程,相对于逻辑备份更加简单高效

精准恢复

恢复想要恢复的数据,无需对整个集群数据进行恢复

cke_115.png

▲ 物理细粒度备份恢复支持的功能(正式商用版本8.2.1)

物理细粒度备份恢复的基本流程

由于物理细粒度备份采用了在线恢复的方式,创建了一张新表,那么就需要知道原表的一个表定义,那么在备份的时候就需要将表的定义备份上,这个任务是通过调用GaussDB(DWS) gs_dump工具完成。

确定了表定义就要拷贝表对应的相关文件,比如列存表的cudesc表、存在可变长字段的toast表等,只有把辅助表的信息也记录下来,才能保证恢复之后这张表是可用的,物理细粒度备份采用Map文件对表关系进行组织,对表所有的关联表及文件进行统一收集记录,备份和恢复时根据map文件去做表文件的备份和恢复。

最后就是物理文件的拷贝,Roach对物理文件的拷贝是通过压缩的方式,然后保存在一个rch文件中,并生成fine_file_list文件,记录每个rch文件压缩了哪些物理文件。备份时备份了表定义、表相关文件、表物理文件三个信息之后,我们便可以进行细粒度单表的恢复。

cke_116.png

▲ 物理细粒度备份流程

物理细粒度恢复主要是把一张表或多张表恢复到目标集群中,并保证恢复后的表能够正常提供服务。物理细粒度恢复同样采用的是在线恢复的方式,恢复方法的核心思想是在当前的集群中创建出与原表定义完全相同的一张目标表,再把原表和目标表相关的物理文件进行替换。由于替换之后的物理文件保存了旧的事务信息,因此完成数据恢复后需要对目标表进行数据清洗,至此,所有的恢复工作完成。

cke_117.png

▲ 物理细粒度恢复流程

物理细粒度备份恢复的使用实践

物理细粒度备份恢复是通过python脚本拉起gs_roach工具,并指定特定的参数是实现的。特有的命令函参数包括:

--physical-fine-grained 【物理细粒度标志参数】

--dbname <数据库名称> 【例如:postgres】

--schema-list <文件名称> 【要备份的schema列表,在指定的文件中每个schema一行】

--clean 【恢复到同名原表时使用该参数清理原表】

--table-list <文件名称> 【要恢复的原表名称,保存在文件中】

--restore-target-list <文件名称> 【要恢复的目标表名称】

物理细粒度备份恢复可基于命令行参数实现,或者从管控面下发备份恢复任务。以命令行下发备份恢复任务如下:

  • 物理细粒度备份

cke_118.png

  • 物理细粒度多表恢复

cke_119.png

从管控面下发备份恢复任务需要打开细粒度开关,在指定集群的集群管理界面进行备份恢复任务:

cke_120.png

点击链接观看直播完整版回放,了解详细信息。

 

点击关注,第一时间了解华为云新鲜技术~

 

与一文详解数据仓库的物理细粒度备份恢复相似的内容:

一文详解数据仓库的物理细粒度备份恢复

华为云技术专家带你读懂数据仓库的物理细粒度备份恢复,包括它的优势、恢复的基本流程和具体使用实践。

网络协议的重要性与应用:理解进程间通信和网络分层结构(上)

学习网络协议的关键是了解其分层结构。在计算机网络中,我们使用的是OSI标准模型和TCP/IP网络模型。这些模型将网络通信划分为多个层级,每个层级都有不同的功能和作用。在本章节中,我们主要讲解了TCP/IP网络模型的前三层:应用层、传输层和网络层。后面的数据链路层和物理层将在下一篇文章中进行详细讲解

带你动手设计一个高速公路多节点温度采集系统

摘要:本篇文章主要介绍设备上云的详细流程,介绍华为云物联网云端产品、设备创建流程,数据转存方式,应用侧开发接口等等。 本文分享自华为云社区《采用华为云IOT平台设计的高速公路多节点温度采集系统(STM32+NBIOT)》,作者:DS小龙哥。 一、前言 当前的场景是,在高速公路上部署温度采集设备,在高

从 5s 到 0.5s!CompletableFuture 异步任务优化技巧,确实优雅!

一个接口可能需要调用 N 个其他服务的接口,这在项目开发中还是挺常见的。举个例子:用户请求获取订单信息,可能需要调用用户信息、商品详情、物流信息、商品推荐等接口,最后再汇总数据统一返回。 如果是串行(按顺序依次执行每个任务)执行的话,接口的响应速度会非常慢。考虑到这些接口之间有大部分都是 无前后顺序

小白也能懂的Mysql数据库索引详解

一文让你彻底了解:主键索引/二级索引,聚簇索引/非聚簇索引,回表/索引覆盖,索引下推,联合索引/最左联合匹配,前缀索引,explain

一文详解多模态认知智能

摘要:多模态认知智能是AI人工智能当前发展的主流趋势之一,其核心是以多模态知识的获取,表示与推理为主要内容的跨模态知识工程与认知智能,也是为了更好的处理多模态的数据,需要融合多种感知模态和智能处理技术。 本文分享自华为云社区《GPT-4发布,AIGC时代的多模态还能走多远?系列之三:多模态认知智能》

详解数据库中的索引和视图

摘要:索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高在表或视图中的查找数据的速度。 本文分享自华为云社区《数据库开发指南(六)索引和视图的使用技巧、方法与综合应用》,作者: bluetata 。 一、索引 1.1 什么是索引 索引就是数据表中数据和相应的存储位置的列表,利用索引可以提高

一文详解SpEL表达式注入漏洞

摘要:本文介绍了SpEL表达式以及常见的SpEL注入攻击,详细地介绍了部分漏洞攻击实例以及常用的漏洞检测与防御手段。 本文分享自华为云社区《SpEL表达式注入漏洞分析、检查与防御》,作者:华为云软件分析Lab。 在安全角度来看外部来源的数据,均应视为不可信数据,对外部数据,其包含的所有信息都须经过校

[转帖]详解MySQL数据库原生的数据复制方式:异步复制、半同步复制与全同步复制

一、MYSQL复制架构衍生史 在2000年,MySQL 3.23.15版本引入了Replication。Replication作为一种准实时同步方式,得到广泛应用。这个时候的Replicaton的实现涉及到两个线程,一个在Master,一个在Slave。Slave的I/O和SQL功能是作为一个线程,

[转帖]Oracle数据库的两种授权收费方式详解

https://www.jb51.net/article/265823.htm 现在Oracle有两种授权收费方式,按CPU(Process)数和按用户数(Named User Plus),前一种方式一般用于用户数不确定或者用户数量很大的情况,典型的如互联网环境,这篇文章主要介绍了Oracle数据库