《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(下)

本文涉及的产品
云数据库 PolarDB MySQL 版,列存表分析加速 8核16GB
PolarDB Agent Flow,2核4GB
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(下)

更多精彩内容,欢迎观看:《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB PostgreSQL版解析与实践(上)——三、产品相关概念(中):

https://developer.aliyun.com/article/1222911?spm=a2c6h.13148508.setting.17.75bf4f0e5XwXp0


1. 备份恢复

 

1) 技术原理介绍

 

基础备份+日志归档+一致性恢复点=集群恢复

 

基础备份:ADB PG集群物理基础备份,不会阻塞用户业务执行,因此,集群的基础备份期间,依然会产生大量WAL日志。

日志归档:集群恢复需要WAL持续归档。

一致性恢复点:通过在数据库的访问入口处(QD节点)独占获取事务提交锁,阻塞其他事务的提交,从而保证恢复点创建时刻的集群事务一致性。

集群恢复:通过一致性恢复点,恢复时,将集群各个节点对齐到事务一致的数据库状态。

 

2) 基础备份

 

image.png

 

基础备份又称全量备份,是对整个集群的所有primary节点(包括master,但不包括secondary master)进行全量数据备份。

公有云默认备份到OSS。

备份不阻塞业务,备份期间产生的增量WAL日志由归档操作保证备份到OSS。

备份期间,会自动重新备份异常的节点,如主备切换、连接异常等情况。

备份完成后,创建一致性恢复点,作为恢复时的恢复目标,以保证恢复集群一致性。

 

3) 日志备份

 

image.png

 

日志备份,又称增量备份。通过归档命令,对集群的所有primary节点上的WAL日志段进行备份

公有云默认备份到OSS。

 

4) 创建一致性恢复点

 

image.png 

 

请求创建一致性恢复点:

ü 独占申请两阶段提交锁,阻塞其他分布式事务提交。

ü Master节点创建恢复点。

ü Segment节点创建恢复点。

ü 释放两阶段提交锁。

ü 等待恢复点WAL日志归档。

 

通过分布式提交锁,确保恢复点创建时刻的集群事务一致性。

一致性恢复点在集群的每个primary节点新增一条WAL日志记录。

只有完成WAL日志归档的一致性恢复点,才能够用于分布式集群的归档恢复。

 

5) 恢复新实例

 

image.png

 

并行从OSS下载基本备份。

更新集群拓扑结构,并重启集群。

设置一致性恢复点作为恢复目标。

添加高可用备机,完成恢复。

持续下载并恢复归档的WAL日志。

 

2. 资源隔离

 

1) 资源管理简介

 

ADB PG实例资源包括:CPU、IO、内存、并发连接、查询计划。

 

常见资源问题

 并发连接数被占满,无法接受连接

 内存超过可用内存范围,进程被杀死

 IO带宽争用导致查询和写入性能下降

 

资源管理方案

 资源队列Resource Queue:使用最多的是并行度和CPU优先级的设置

 资源组Resource GroupCPU

 

2) 资源队列技术介绍

 

资源队列能够对数据库的CPU、内存等资源进行限制,对多租户资源限制、保障数据库稳定运行具有一定的作用

支持进行四种类型的资源限制:并发限制、CPU限制、内存限制和查询计划限制。

 

image.png

 

3) 创建资源队列示例

CREATE RESOURCE QUEUE name WITH (queue_attribute=value[ ... ])where queue attribute is
ACTIVE_STATEMENTS=integer
[MAX_COST=float [COST_OVERCOMMIT={TRUE|FALSE}]]
MINCOST=float]
[PRIORITY={MIN|LOW|MEDIUM|HIGH|MAX}]
[MEMORY_LIMIT='memory_units']

  

=# CREATE RESOURCE QUEUE adhoc WITH(ACTIVE STATEMENTS=3);创建带有并发限制的队列

创建带有内存限制的队列CREATE RESOURCE QUEUE myqueue WITH(ACIIVESTATEMENIS=20,MEMORY_LIMIT='2000MB');

=# CREATE RESOURCE QUEUE executive WITH (ACTIVE_STATEMENTS=3, PRIORITY=MAX); 设置优先级

 

4) 指派角色(用户)到资源队列

 

指派角色到优先级队列

ü 一旦创建了一个资源队列,用户必须把角色(用户)指派到它们合适的资源队列。

ü 如果没有显式地把角色指派资源队列,它们将进入默认资源队列pg_default。默认资源队列的活动语句限制是20,没有代价限制。

 

=# ALTER ROLE name RESOURCE QUEUE queuename;
=# CREATE ROLE name WITH LOGIN RESOURCE QUEUE queue_name;

 

从资源队列移除角色

 

如果用户想要从一个资源队列移除一个角色并且把它们放在默认队列中,可以将该角色的队列指派改成none。例如:

=#ALTER ROLE role name RESOURCE QUEUE none;

  

修改资源队列配置

 

ALTER RESOURCE QUEUE命令更改资源队列的限制。

=# AITER RESOURCE QUEUE adhoc WITH(ACIIVE_STATEMENTS=5);
=# ALTER RESOURCE QUEUE exec WITH (PRIORITY=MAX);

  

删除资源队列

 

DROP RESOURCE QUEUE命令可以删除资源队列。要删除一个资源队列,该队列不能有指派给它的角色,也不能有任何语句在其中等待。

 

5) 状态监控

 

查看队列中的语句和资源队列状态

 gp_toolkit.gp_resqueue_status视图允许管理员查看一个负载管理资源队列的状态和活动。

 语句:

SELECT*FROM gp_toolkit.gp_resqueue_status

  

查看资源队列统计信息

 如果想要持续跟踪资源队列的统计信息和性能,用户可以使用pg_stat_resqueues系统视图来查看在资源队列使用上收集的统计信息。

 语句:

SELECT * FROM pg_stat_resqueues

  

查看指派到资源队列的角色

 要查看指派给资源队列的角色,执行下列在pg_roles和gp_toolkit.gp_resqueue_status系统目录表。

 语句:

SELECT rolname, rsqname FROMpg_roles, gp_toolkit.gp_resqueue_status WHERE  pgroles.rolresqueue=gptoolkit.gp resqueue status.queueid

  

查看资源队列的等待查询

 用户可以看到所有资源队列的所有当前活跃的以及在等待的查询。

 语句:

SELECT * FROM gp_toolkit.gp_locks_on_resqueue WHERE  lorwaiting='true'

  

查看活动语句的优先权

 查看当前正在被执行的语句并且提供优先权、会话ID和其他信息。

 语句:

SELECT * FROM gp_toolkit.gp_resq_priority_statementSELECT * FROM gp_toolkit.gp_resq_priority_statement

  

重置活动语句的优先权

 gp_adjust_priority(session_id,statement_count,priority)调整当前正在被执行的语句的优先权。使用这个函数,超级用户可以提升或者降低任意查询的优先权。

 语句:

SELECT gp_adjust_priority(752,24905,'HIGH')

 

相关实践学习
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
存储 JSON 数据格式
ElasticSearch基础概念解析
以上就是ElasticSearch的基础概念。理解了这些概念,你就可以更好地使用ElasticSearch,像使用超级放大镜一样,在数据海洋中找到你需要的珍珠。
385 71
|
人工智能 API 开发者
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
904 27
|
数据采集 JSON 数据可视化
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
844 4
JSON数据解析实战:从嵌套结构到结构化表格
|
数据采集 机器学习/深度学习 存储
可穿戴设备如何重塑医疗健康:技术解析与应用实战
可穿戴设备如何重塑医疗健康:技术解析与应用实战
784 4
|
机器学习/深度学习 人工智能 Java
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
927 3
|
XML Java 开发者
Spring底层架构核心概念解析
理解 Spring 框架的核心概念对于开发和维护 Spring 应用程序至关重要。IOC 和 AOP 是其两个关键特性,通过依赖注入和面向切面编程实现了高效的模块化和松耦合设计。Spring 容器管理着 Beans 的生命周期和配置,而核心模块为各种应用场景提供了丰富的功能支持。通过全面掌握这些核心概念,开发者可以更加高效地利用 Spring 框架开发企业级应用。
477 18
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
528 20
|
存储 分布式计算 大数据
大数据揭秘:从数据湖到数据仓库的全面解析
大数据揭秘:从数据湖到数据仓库的全面解析
459 19
|
供应链 搜索推荐 API
深度解析1688 API对电商的影响与实战应用
在全球电子商务迅猛发展的背景下,1688作为知名的B2B电商平台,为中小企业提供商品批发、分销、供应链管理等一站式服务,并通过开放的API接口,为开发者和电商企业提供数据资源和功能支持。本文将深入解析1688 API的功能(如商品搜索、详情、订单管理等)、应用场景(如商品展示、搜索优化、交易管理和用户行为分析)、收益分析(如流量增长、销售提升、库存优化和成本降低)及实际案例,帮助电商从业者提升运营效率和商业收益。
621 20
|
弹性计算 运维 网络安全
阿里云轻量应用服务器产品解析与搭建个人博客网站教程参考
轻量应用服务器(Simple Application Server)作为阿里云面向单机应用场景推出的云服务器产品,以其一键部署、一站式管理、高性价比等特性,深受个人开发者、中小企业及入门级用户的喜爱。本文将全面解析阿里云轻量应用服务器的产品优势、应用场景、使用须知,以及使用轻量应用服务器搭建个人博客网站的详细教程,帮助用户更好地了解和使用这一产品。

推荐镜像

更多
  • DNS