GaussDB数据库日常运维

举报
yd_246436088 发表于 2025/11/26 09:47:35 2025/11/26
【摘要】 1      1.1   总结本文档围绕 GaussDB 日常运维核心操作展开,重点覆盖三大模块:数据库连接管理(支持 DAS 可视化连接、内网高安全连接、公网弹性 IP 连接,推荐优先使用 DAS 和内网)、数据导入导出(按场景匹配工具:元数据用gs_dump/gs_restore、小批量数据用copy、文本格式用gsql元命令、分布式大批量用GDS,GDS 通过多 DN 并行导入导出突破...

1      

1.1   总结

本文档围绕 GaussDB 日常运维核心操作展开,重点覆盖三大模块:数据库连接管理(支持 DAS 可视化连接、内网高安全连接、公网弹性 IP 连接,推荐优先使用 DAS 和内网)、数据导入导出(按场景匹配工具:元数据用gs_dump/gs_restore、小批量数据用copy、文本格式用gsql元命令、分布式大批量用GDSGDS 通过多 DN 并行导入导出突破 CN 瓶颈)、备份恢复(基于 OBS 存储,支持全量备份(默认每周全量)和差量备份(默认每 30 分钟一次),自动备份默认开启且保留 7 天,手动备份需用户触发,恢复支持实例级 / 库级 / 表级,同时提供备份日志定位故障的方法),助力运维人员高效完成连接、数据迁移及数据安全保障。

 

1.2   思维导图(mindmap

 

 

1.3   详细总结

一、数据库连接管理

1. 核心连接方式对比

连接方式

连接地址

使用场景

关键特性

推荐度

DAS 连接

无需 IP

可视化管理(执行 SQL、运维)

易用、安全、智能,默认开通权限

★★★★★

内网连接

内网 IP

应用与实例同 VPC/ECS

安全性高(无公网暴露),性能优(低延迟)

★★★★★

公网连接

弹性公网 IP

无法通过内网访问的跨网场景

安全性低(公网暴露),需绑定弹性 IP

★★☆☆☆(建议迁移至内网)

2. 连接流程详解

             DAS 连接流程

                          购买 GaussDB 实例(确认规格、网络、账号配置);

                          登录华为云控制台进入 DAS 服务直接选择实例连接(默认开通权限)。

             内网连接流程

                          购买实例(确保 ECS 与实例同 VPC);

                          安全组配置:

                                                        同安全组:默认互通,无需额外配置;

                                                        不同安全组:分别在 ECS 和实例的安全组中添加允许对方 IP + 端口规则;

                          通过客户端(如 gsql)使用内网 IP 连接,支持普通连接(gsql -h 内网IP -p 端口 -U 用户 -d )或 SSL 加密连接。

             公网连接流程

                          购买实例后,在实例网络配置中绑定弹性公网 IP

                          设置安全组:允许公网主机 IP 访问实例端口;

                          通过客户端使用弹性公网 IP 连接,建议仅临时使用,长期需迁移至内网。

二、数据导入导出

1. 场景与工具匹配表

业务场景

推荐工具

核心优势

适用数据量

 

导出 / 恢复表 / 库元数据(仅结构)

gs_dump/gs_restore

精准导出对象定义,支持跨库恢复

无限制(重点在结构)

 

小批量数据(万级以内)导入 / 导出

copy

语法简单,支持查询结果直接导出

≤10 万行

 

文本格式 SQL 脚本执行(建表语句)

gsql元命令

支持脚本批量执行,结果定向输出

脚本文件≤100MB

 

分布式场景大批量数据(TB 级)

GDS

DN 并行处理,突破 CN 瓶颈,性能提升 5-10

≥100 万行(推荐 TB 级)

 

2. 核心工具使用详解

1gs_dump/gs_restore(元数据工具)

工具

功能

关键参数

示例

 

gs_dump

导出表 / 库结构 / 数据

-U:用户名

 

-W:密码

 

-pCN 端口

 

-s:仅导出结构

 

-t:指定表

 

-f:输出文件

 

-F:格式(p = 文本,c = 自定义归档)

导出单表结构:

 

gs_dump postgres -U u1 -W Huawei@123 -p 16000 -s -t t1 -f /data/t1.sql -F c

 

gs_restore

恢复导出文件

-d:目标数据库

 

-pCN 端口

恢复至 db1 库:

 

gs_restore -d db1 -p 16000 /data/t1.sql

 

2copy(小批量数据工具)

功能

语法

示例

 

 

文本导入表

copy 表名 from '文件路径' delimiter '分隔符';

copy t1 from '/data/t1.txt' delimiter '^';

 

 

表数据导出

copy 表名 to '文件路径' delimiter '分隔符';

copy t1 to '/data/t1_out.txt' delimiter '^';

 

 

查询结果导出

copy (查询语句) to '文件路径' delimiter '分隔符';

copy (select * from t1 where a2=1) to '/data/t1_filter.txt' delimiter '^';

 

 

3GDS(分布式大批量工具)

             步骤 1:启动 GDS 服务bash运行



# -d:数据目录,-p:服务IP:端口,-H:允许访问的IP段,-l:日志文件,-t:并发线程数

               gds -d /input_data/ -p 10.186.251.85:8808 -H 0.0.0.0/0 -l /log/gds_log.txt -D -t 2

             




             步骤 2:创建外表(关联 GDS 数据文件)sql



-- 导入外表(指定文件、格式、分隔符)

               create foreign table t1_foreign(a1 varchar2(10), a2 int)

               SERVER gsmpp_server OPTIONS (

                 location 'gsfs://10.186.251.85:8808/t1.txt',

                 format 'text', encoding 'utf8', delimiter '^', null '',

                 per node reject limit '100' with error_t1_foreign

               );

             




             步骤 3:执行导入 / 导出sql



-- 导入:从外表写入目标表

               insert into t1 select * from t1_foreign;

               -- 导出:从目标表写入导出外表

               insert into t1_foreign_output select * from t1;

             




3. GDS 导入最佳实践

             数据倾斜校验:对千万行以上的表,先导入 1% 数据,执行select table_skewness('表名')检查倾斜,调整分布列后再全量导入;

             拆分并行优化

                                   将大文件拆分为多个小文件(每个≤10GB),使用多 GDS 服务并行导入;

                                   同一 GDS 服务通过-t参数设置并发线程(推荐 2-4 线程);

             资源配置要求

                                   网络:必须使用万兆网(千兆网易断连);

                                   磁盘 IOGDS 数据目录磁盘 IO >400MB/s(单 GDS 单核处理上限);

                                   部署密度:1 Raid 组部署 1-2 GDS,避免 IO 瓶颈。

三、备份恢复

1. 备份核心概述

             备份必要性

                          防误操作:GaussDB 高可用同步删除备机数据,需依赖备份恢复;

                          高可靠存储:备份文件存储于 OBS,提供12 9的可靠性(数据持久性)。

             备份分类表(按不同维度)| 分类维度 | 类型 | 核心说明 || --- | --- | --- || 数据组织形式 | 物理备份 | 保留数据库原始格式,备份快、占空间小 || | 逻辑备份 | 通用格式(如 CSV),支持跨库 / 跨平台恢复 || 备份对象范围 | 集群级备份 | 备份集群所有对象,用于容灾 || | 对象级备份 | 备份单表 / 多表,用于单点备份和审计 || 数据完整性 | 全量备份 | 备份所有数据 + barrier 点日志,可单独恢复 || | 差量备份 | 仅备份增量页面 + barrier 点日志,需配合全量恢复 || | 日志归档 | 备份事务日志,支持时间点(PITR)恢复 |

2. 备份策略与操作

1)自动备份(默认开启)

             默认策略配置

               配置项

               默认值

               可调整范围

 

 

             保留天数

             7

             1-730

 

 

             全量备份时间段

             随机 1 小时(如 01:00-02:00

             00:00-23:001 小时区间)

 

 

             全量备份周期

             每天

             可选择特定星期(如周一 / 周三)

 

 

             差量备份周期

             30 分钟

             5-60 分钟

 

 

               

 

 

 

 

             修改流程登录华为云控制台实例管理选择实例左侧备份恢复修改备份策略调整参数后保存。

2)手动备份(用户触发)

             操作场景:重要业务节点(如版本升级前、大促前)的全量备份;

             操作步骤

                          控制台实例管理选择实例左侧备份恢复

                          点击创建备份输入备份名称和描述点击确定

             特性:手动备份永久保留,需用户手动删除,不占用自动备份配额。

3. 恢复操作与故障处理

1)恢复操作

             恢复场景:将实例数据恢复到备份创建时的状态,支持恢复至新实例已有实例

             恢复限制:恢复至已有实例时,需满足同引擎、同节点拓扑、同大版本、存储空间原实例

             操作步骤控制台实例管理选择实例左侧备份管理找到目标备份点击恢复选择恢复目标(新 / 已有实例)确认配置后提交。

2)备份故障定位流程

             步骤 1:获取备份节点:登录 Console实例备份恢复找到对应备份任务获取下发节点实例号;

             步骤 2:查找转发节点:登录下发节点查看/home/Ruby/log/request_agent.log搜索关键词 “Send backup request”获取备份转发节点 IP(通常为第一个 CN);

             步骤 3:查看主节点日志:登录转发节点查看$GAUSSLOG/roach/controller目录下对应时间的日志查找首次报错(关键词:[main] python GaussRoach enter为备份开始标识);

             步骤 4:定位具体节点故障:若日志报[pollSubprocess ret code abnormal]查看$GAUSSLOG/roach/agent目录日志找到报错节点 IP登录该节点查看 agent 日志,定位故障原因。

3)常见故障及处理

故障现象

原因

处理方案

 

 

备份失败,提示集群状态 unavailable”

集群节点故障(如 DN 下线)

先修复集群至正常状态(如重启节点),再重新备份

 

 

备份中突然失败

备份过程中发生进程重启、主备切换

待集群稳定后,手动触发备份,避免业务高峰期操作

 

 

大版本升级中备份失败

升级过程中锁定备份资源

升级观察窗口内(升级完成后)再执行备份

 

 

备份与扩容 / 缩容并发执行失败

资源竞争(备份与扩容均占用 IO/CPU

避免并发操作,先完成备份再执行扩容 / 缩容

 

 

四、关键缩略语

缩略语

英文全称

中文释义

 

 

OBS

Object Storage Service

对象存储服务(备份文件存储介质)

 

 

PITR

Point-In-Time Recovery

按时间点恢复(基于日志归档)

 

 

GDS

Gauss Data Service

高斯数据服务(分布式数据导入导出工具)

 

 

DAS

Data Admin Service

数据管理服务(可视化数据库管理工具)

 

 

CN

Coordinator Node

协调节点(备份转发节点)

 

 

DN

Data Node

数据节点(备份数据存储节点)

 

 

 

1.4   关键问题

问题 1:在 GaussDB 运维中,如何根据业务场景选择合适的数据库连接方式?需说明各方式的适用场景、优缺点及推荐优先级。

答案:选择连接方式需结合网络环境、安全性、性能需求三要素,具体决策如下:

             优先选择 DAS 连接

                                   适用场景:所有需要可视化管理的场景(如执行 SQL、查看表结构、运维监控);

                                   优点:无需配置 IP,默认开通权限,提供 SQL 执行、智能运维等功能,操作简单;

                                   缺点:无明显缺点,仅依赖华为云控制台。

             其次选择内网连接

                                   适用场景:应用部署在华为云 ECS,且 ECS GaussDB 实例同 VPC、同区域;

                                   优点:无公网暴露,安全性高;网络延迟低,性能优(支持高并发读写);

                                   缺点:跨 VPC 场景无法使用。

             仅临时使用公网连接

                                   适用场景:应用未迁移至华为云,或跨 VPC 且无法通过内网访问的临时场景;

                                   优点:突破网络限制,可跨地域访问;

                                   缺点:需绑定弹性公网 IP,存在公网攻击风险;网络延迟高,性能差;

                                   建议:长期使用需将应用迁移至与实例同 VPC ECS,切换为内网连接。

推荐优先级DAS 连接内网连接 公网连接(仅临时)。

问题 2GDS 作为 GaussDB 分布式大批量数据导入工具,其核心原理是什么?在导入 TB 级数据时,需注意哪些关键配置和优化手段以避免性能瓶颈?

答案

一、GDS 核心原理

传统导入依赖 CN 下发任务,存在 CN 单点瓶颈;GDS 通过 DN 并行处理突破瓶颈,原理如下:

             任务规划CN 仅负责任务下发(如数据分片规则),不参与数据传输;

             数据切分GDS 服务将源数据文件切分为多个分片,按 DN 数量均匀分配;

             并行导入:各 DN 接收分片后,解析数据并按分布列计算 Hash 若数据属于自身则本地存储,属于其他 DN 则通过内网传输;

             错误处理:支持配置单 DN 允许的错误行数(per node reject limit),错误数据写入错误表,便于后续分析。

二、TB 级数据导入的关键配置与优化

             网络配置

                                   必须使用万兆网10Gbps),千兆网无法承载高速数据传输,易出现断连;

                                   GDS 服务器与 GaussDB 集群需处于同一内网,避免跨公网传输。

             存储配置

                                   GDS 数据目录需挂载高性能磁盘(如 SSD 阵列),确保磁盘 IO 吞吐量>400MB/sGDS 单核处理能力上限);

                                   1 Raid 组仅部署 1-2 GDS 服务,避免单 Raid IO 过载。

             数据预处理

                                   将大文件拆分为多个小文件(每个文件大小建议 10-20GB),避免单文件导入时的 IO 瓶颈;

                                   导入前先导入 1% 数据,执行select table_skewness('目标表名')检查数据倾斜,若 DN 数据量差异>10%,需调整分布列后再全量导入。

             并发优化

                                   启动 GDS 服务时,通过-t参数设置并发线程数(推荐 2-4 线程,需匹配 CPU 核心数);

                                   若数据量超 5TB,部署多个 GDS 服务(如 2-4 个),每个 GDS 处理部分文件,实现并行导入。

问题 3GaussDB 的自动备份策略默认配置是什么?如何根据 “2TB 数据总量、每小时 2GB 增量的业务场景优化备份策略?需说明优化思路和具体配置。

答案

一、自动备份默认配置

GaussDB 实例创建时默认开启自动备份,默认参数如下:

配置项

默认值

作用

 

 

保留天数

7

自动备份文件保留 7 天,到期自动删除

 

 

全量备份周期

每天 1

每天在随机 1 小时区间(如 01:00-02:00)执行全量备份

 

 

全量备份时间段

随机 1 小时

避免所有实例集中在同一时间备份,抢占资源

 

 

差量备份周期

30 分钟 1

备份上一次备份后的增量数据,减少数据丢失风险

 

 

二、“2TB 总量 + 2GB / 小时增量场景的优化策略

优化思路:平衡备份耗时、存储成本、数据安全性”—— 全量备份周期不宜过短(避免占用过多 IO / 存储),差量备份周期需匹配增量数据量(确保丢失数据可接受范围)。

三、具体优化配置

             全量备份优化

                                   周期:从每天 1 调整为每周 1 2TB 全量备份耗时约 4-6 小时,每周 1 次可减少 IO 占用,降低存储成本);

                                   时间段:固定在业务低峰期(如 00:00-06:00),避免影响业务读写性能;

                                   保留天数:从 7 天调整为14 (每周 1 次全量,14 天保留 2 个全量备份,提高容灾能力)。

             差量备份优化

                                   周期:保持 30 分钟 1 (每小时 2GB 增量,30 分钟增量约 1GB,差量备份耗时短,可接受);

                                   说明:若业务允许丢失 1 小时数据,可调整为 60 分钟 1 ,进一步减少备份频率。

             额外配置

                                   开启日志归档(可选):若需支持时间点恢复(PITR),开启事务日志归档,备份日志文件(每小时日志量约 500MB,存储成本低);

                                   手动备份补充:在全量备份间隔期间(如每周三),手动触发 1 次全量备份,应对突发故障(手动备份永久保留,不占用自动备份配额)。

优化后效果:每周仅 1 次全量备份(2TB),每日 24 次差量备份(每次约 1GB),每周存储占用≈2TB + 24×7×1GB≈2TB+168GB=2.168TB,兼顾性能、成本与数据安全性。

 

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。