AmazonRedshift数据仓库的扩展与性能优化
立即解锁
发布时间: 2025-08-31 01:06:12 阅读量: 7 订阅数: 19 AIGC 

# Amazon Redshift 数据仓库的扩展与性能优化
## 1. 数据转换与检查
完成任务后,可前往 Amazon Redshift 控制台检查查询和加载情况。在控制台中,你会看到创建临时表、加载 Amazon S3 文件以及执行合并语句(用于删除旧数据并插入新数据)所需的查询。
## 2. 数据仓库扩展概述
在当今数据变化迅速的环境中,数据仓库能否快速适应变化至关重要。传统数据仓库系统在资源调配方面存在较长的前置时间,难以快速适应变化。而 Amazon Redshift 则能轻松应对存储需求和计算需求的变化,可根据需求快速扩展或缩减,避免因错误决策带来的高昂成本。
扩展的目标是满足工作负载的变化,维持当前的性能水平和相关服务级别协议(SLA)。当向数据仓库添加新工作负载,或者分析的数据量增加并影响到工作负载的 SLA 时,就需要进行扩展。实现扩展目标可考虑两个策略:确保数据仓库大小合适,以及优化工作负载以提升性能。
### 2.1 垂直扩展与水平扩展
Amazon Redshift 可进行垂直扩展和水平扩展,如下表所示:
| 扩展类型 | 描述 | 使用场景 |
| ---- | ---- | ---- |
| 垂直扩展 | 通过为单个查询增加额外计算资源来“向上”扩展,会增加 vCPU 或内存总数。 | 工作负载变化可预测,需要运行提取大量行、处理更多连接和管理更长事务的大型查询,同时要保留现有工作负载的 SLA 并承担额外工作负载。 |
| 水平扩展 | 通过添加更多副本以处理额外工作负载来“向外”扩展,每个查询可由独立计算资源从共享数据中读取数据。 | 工作负载变化不可预测,系统需处理更多并发工作负载,每个查询获得相同的计算资源。 |
## 3. 存储扩展
使用无服务器或 RA3 预配置数据仓库时,Amazon Redshift 由 RMS 提供支持,其优势在于存储弹性,无需为容纳额外历史数据而调整计算资源。例如,数据仓库通常对最近 12 个月的数据执行分析工作负载,每天有新数据添加,但计算需求仅针对最近 12 个月的数据,此时计算成本不受数据量增长影响,只需为增加的存储付费。
### 3.1 存储费用计算示例
假设在 4 月的前 15 天,使用 RA3 节点类型的托管存储存储 100 GB 数据,后 15 天存储 100 TB 数据。计算 4 月的 GB - 小时使用量如下:
- 前 15 天:$100 \text{ GB} \times 15 \text{ 天} \times 24 \text{ 小时/天} = 36,000 \text{ GB - 小时}$
- 后 15 天:$100 \text{ TB} \times 1024 \text{ GB/TB} \times 15 \text{ 天} \times 24 \text{ 小时/天} = 36,864,000 \text{ GB - 小时}$
- 4 月总使用量:$36,000 \text{ GB - 小时} + 36,864,000 \text{ GB - 小时} = 36,900,000 \text{ GB - 小时}$
- 转换为 GB - 月:$36,900,000 \text{ GB - 小时} \div 720 \text{ 小时/月} = 51,250 \text{ GB - 月}$
假设 us - east - 1 区域的托管存储费用为 $0.024/GB - 月$,则 4 月的存储费用为:$51,250 \text{ GB - 月} \times 0.024 \text{ 美元/GB - 月} = 1,230 \text{ 美元}$。需要注意的是,计算成本不受数据增长影响,若暂停集群且无查询执行,仅需支付 RMS 成本,且在删除集群前,即使无查询执行也会收取存储费用。
## 4. 无服务器数据仓库自动扩展
Amazon Redshift 无服务器可自动扩展数据仓库容量,无论是向上扩展还是向外扩展。当无活动时,计算资源会自动在后台关闭;当加载数据或有查询进入时,计算资源会恢复。使用无服务器模式无需预测工作负载需求或调整计算资源,它会根据工作负载变化自动调整。在许多情况下,使用无服务器模式执行工作负载所需的总体计算资源可能会减少,之前因计算资源不足而分页到磁盘的查询将更快完成,排队的查询也不再等待。
计算容量以 RPU 衡量,按 RPU - 小时计费,支持按秒计费。为控制成本,可指定使用限制,并定义达到限制时 Amazon Redshift 自动采取的操作。可按日、周或月指定 RPU - 小时使用限制,设置较高的使用限制可提高系统的整体吞吐量,特别是对于需要处理高并发且保持高性能的工作负载。
## 5. 预配置数据仓库扩展
预配置 Amazon Redshift 集群时,需选择特定的节点类型和节点数量。何时通过添加更多节点或更改节点类型进行向上扩展,以及何时通过添加并行计算进行向外扩展,都由用户决定。以下是不同场景下的扩展情况:
### 5.1 不断增长的计算需求
当数据仓库项目成功,添加新的分析工作负载,但仓库中的数据量不变(将旧数据转移到数据湖)时,计算需求会增加。为保持用户体验和 SLA,可通过添加更多节点或迁移到更大的节点类型来扩展集群。
扩展集群时,存储成本不变,因为数据量未改变。通过添加节点或更改节点类型进行扩展是一个快速过程,可通过 AWS 控制台、CLI 或 API 完成。例如:
-
0
0
复制全文
相关推荐








