GCDW Warehouse 管理与使用
GCDW Warehouse 管理与使用
一、概述
1.1 Warehouse简介
Warehouse 是 GCDW(GBase Cloud Data Warehouse)中的计算仓库(Compute Warehouse),是租户进行 SQL 计算和数据处理的计算资源载体。Warehouse 本身不存储数据,而是负责为 SQL 查询、数据加载及数据处理提供计算能力。
在 GCDW 中,数据存储与计算资源相互独立,Warehouse 作为计算层,可以根据业务负载进行弹性扩缩容,实现计算资源的按需分配,提高系统资源利用率。
对于一个租户而言,只有配置了 Warehouse 后,才能正常执行 DQL(查询)和 DML(增删改)等 SQL 操作。
二、Warehouse 架构
2.1 组成结构
Warehouse 主要由三层组成:
Warehouse
│
├── Cluster 1
│ ├── GNode
│ ├── GNode
│ └── GNode
│
├── Cluster 2
│ ├── GNode
│ ├── GNode
│ └── GNode
│
└── Cluster N
├── GNode
├── GNode
└── GNode
整个体系包括三个层次:
- Warehouse(计算仓库)
- Cluster(计算集群)
- GNode(计算节点)
其中:
- 一个租户可以拥有多个 Warehouse;
- 一个 Warehouse 仅属于一个租户;
- 一个 Warehouse 可以包含多个计算集群(Cluster);
- 一个计算集群只能属于一个 Warehouse;
- 一个计算集群由多个计算节点(GNode)组成;
- 一个计算节点只能属于一个计算集群。
2.2 弹性伸缩机制
Warehouse 支持计算资源的自动扩缩容。
Cluster 弹性伸缩
随着业务并发增加,Warehouse 会自动增加 Cluster 数量。
例如:
wh
├── Cluster1
├── Cluster2
├── Cluster3
└── Cluster4
所有 Cluster 的节点数量保持一致。
GNode 扩缩容
每个 Cluster 内部 GNode 数量固定,但支持在线调整。
管理员可以根据计算需求增加或减少计算节点,提高或降低计算能力。
三、Warehouse 工作机制
3.1 SQL 执行流程
当用户执行 SQL 时,其执行过程如下:
- 用户登录租户。
- 指定当前使用的 Warehouse。
- SQL 被调度至 Warehouse。
- Warehouse 将 SQL 分配到某一个 Cluster。
- Cluster 内多个 GNode 协同完成计算。
- 返回最终结果。
需要注意:
- 一项任务只能在一个 Warehouse 中执行;
- 一条 SQL 在同一时刻仅会运行在一个 Cluster 上;
- 排队中的 SQL 可以调度到 Warehouse 内其它空闲 Cluster 执行。
3.2 自动扩容
Warehouse 支持自动扩容。
系统默认策略如下:
- 每个 Cluster 最大支持约 100 个并发任务;
- 当所有已启动 Cluster 并发达到上限时,系统自动创建新的 Cluster;
- 当 Cluster 长时间空闲(默认 600 秒)后,将自动挂起以节约资源。
3.3 故障恢复
若计算节点发生故障:
- 系统自动检测异常节点;
- 自动创建新的 GNode 替换故障节点;
- 当前任务等待节点恢复后自动重试,无需人工干预。
四、Warehouse 生命周期管理
Warehouse 的日常管理主要包括以下操作:
- 创建 Warehouse
- 修改 Warehouse
- 删除 Warehouse
- 查询 Warehouse 状态
- 唤醒 Warehouse
- 挂起 Warehouse
- 使用 Warehouse
五、创建 Warehouse
创建语法如下:
CREATE WAREHOUSE warehouse_name
WITH
WAREHOUSE_SIZE='SMALL'
MIN_CLUSTER_COUNT=1
MAX_CLUSTER_COUNT=3
SCALING_POLICY='STANDARD'
AUTO_SUSPEND=600
AUTO_RESUME='TRUE'
COMMENT='warehouse';
主要参数说明如下:
| 参数 | 说明 |
|---|---|
| WAREHOUSE_SIZE | Warehouse 规格(xsmall、small、medium、large 等) |
| MIN_CLUSTER_COUNT | 最小 Cluster 数 |
| MAX_CLUSTER_COUNT | 最大 Cluster 数 |
| SCALING_POLICY | 扩缩容策略(standard、economy) |
| AUTO_SUSPEND | 自动挂起时间(秒) |
| AUTO_RESUME | 是否自动唤醒 |
| COMMENT | 描述信息 |
其中,Warehouse Size 决定每个 Cluster 的计算能力,而 Cluster 数量决定整体并发能力。
六、修改 Warehouse
使用 ALTER WAREHOUSE 可以调整 Warehouse 配置。
例如:
ALTER WAREHOUSE wh1
SET
WAREHOUSE_SIZE='LARGE'
MAX_CLUSTER_COUNT=4
MIN_CLUSTER_COUNT=2
AUTO_SUSPEND=800
SCALING_POLICY='STANDARD'
AUTO_RESUME='FALSE';
修改规则如下:
WAREHOUSE_SIZE和AUTO_SUSPEND支持在线修改;MIN_CLUSTER_COUNT、MAX_CLUSTER_COUNT、SCALING_POLICY等参数需要先挂起 Warehouse,再进行修改。
七、启动与挂起 Warehouse
7.1 唤醒 Warehouse
ALTER WAREHOUSE wh1 RESUME;
如果 Warehouse 已挂起,则恢复运行。
7.2 挂起 Warehouse
ALTER WAREHOUSE wh1 SUSPEND;
挂起后:
- 停止计算资源;
- 不再消耗计算节点资源;
- 已结束任务不受影响。
八、使用 Warehouse
用户在执行 SQL 前,必须指定当前 Warehouse。
USE WAREHOUSE wh1;
未指定 Warehouse 时,无法正常执行 DQL 和 DML 操作。
九、Warehouse 权限管理
Warehouse 相关权限主要包括三类:
9.1 USAGE_WAREHOUSE
允许:
- 使用 Warehouse 执行 SQL。
限制:
- 当 Warehouse 处于挂起状态时,不会自动启动。
9.2 OPERATE_WAREHOUSE
允许:
- 使用 Warehouse;
- 当 Warehouse 挂起时自动唤醒;
- 执行 SQL。
适用于普通业务用户。
9.3 MODIFY_WAREHOUSE
允许:
- 创建 Warehouse;
- 删除 Warehouse;
- 启动 Warehouse;
- 挂起 Warehouse;
- 修改 Warehouse 配置。
该权限不包含执行 SQL 的能力,因此通常授予平台管理员。
十、删除 Warehouse
删除命令:
DROP WAREHOUSE IF EXISTS wh1;
需要注意:
如果 Warehouse 上仍有任务运行,系统会终止所有正在执行的任务,然后删除该 Warehouse,因此生产环境中应谨慎执行删除操作。
十一、图形化管理
除 SQL 管理方式外,GCDW 还支持通过云际管理平台进行 Warehouse 的图形化管理,包括:
- 创建 Warehouse;
- 修改参数;
- 查看运行状态;
- 启动与挂起;
- 删除 Warehouse;
- 查看资源使用情况。
图形化管理降低了运维复杂度,便于管理员统一维护计算资源。
十二、最佳实践
在生产环境中,建议遵循以下管理原则:
- 根据业务规模合理规划 Warehouse 规格和 Cluster 数量。
- 为不同业务创建独立 Warehouse,避免资源争抢。
- 合理设置自动挂起时间,降低空闲资源消耗。
- 根据业务峰谷配置自动扩缩容策略,提高资源利用率。
- 使用角色权限控制 Warehouse 的使用和管理,避免误操作。
- 定期监控 Warehouse 的运行状态、并发量和资源使用情况,及时调整配置
评论
热门帖子
- 12025-12-01浏览数:183149
- 22023-05-09浏览数:25914
- 42023-09-25浏览数:19556
- 52020-05-11浏览数:18170