使用 Amazon Redshift 构建云数据仓库 - Serverless 与 RA3 的选择

明确 Serverless 与 RA3 预置集群的选择标准,介绍通过数据共享和 Spectrum 实现数据湖联动以防止数据孤岛的方法。

Redshift 架构概述

Redshift 是采用列式存储和大规模并行处理(MPP)架构的云数据仓库。列式存储使分析查询仅读取所需的列,因此与行式 RDBMS 相比大幅减少 I/O。领导节点负责查询解析和执行计划的生成,计算节点执行数据的并行处理。RA3 实例将计算与存储分离,数据存放在基于 S3 的 Redshift Managed Storage(RMS)中。频繁访问的数据会缓存在本地 SSD 上,因此无需在意从 S3 读取的延迟。

Serverless 与预置集群的选择

Redshift Serverless 以 RPU(Redshift Processing Unit)为单位自动扩展容量,无查询执行时不产生费用。最适合 BI 仪表板的定期查询、临时分析、开发和测试环境等工作负载断续的场景。另一方面,预置集群(RA3)适合常时运行的工作负载。在 24 小时持续执行查询的生产环境中,与预留实例组合使用后,成本低于 Serverless。作为判断的参考,每天的查询执行时间不足 8 小时则 Serverless 占优势,8 小时以上则 RA3 预置集群占优势。

数据共享与 Spectrum 数据湖联动

数据共享是在 Redshift 集群之间即时共享实时数据的功能。生产者集群创建数据共享,消费者集群引用该数据共享。不发生数据复制,消费者始终引用生产者的最新数据。在各部门运行独立集群的同时共享公共主数据的用例中有效。Redshift Spectrum 是直接对 S3 上的数据执行 SQL 查询的功能。与 Parquet、ORC 等列式格式组合使用,无需加载到 Redshift 即可分析拍字节级的数据湖。将 Glue Data Catalog 用作元数据存储,Redshift 和 Athena 都可以用同一个表定义执行查询。

Redshift 定价

Redshift Serverless 按 RPU(Redshift Processing Unit)的使用量计费,基础 RPU 可从 8 起设置,每 RPU 小时约 0.375 美元(截至 2026 年 8 月)。无查询执行时不产生费用。预置集群的 RA3.xlplus 每节点约 1.086 美元/小时(月费约 782 美元),预留实例可享最高 64% 的折扣。Redshift Managed Storage 每 GB 每月约 0.024 美元。每天查询执行不足 8 小时则 Serverless 占优势,8 小时以上的常时运行则 RA3 预置集群占优势。

表设计与性能

Redshift 的性能在很大程度上取决于表的设计。要点在于决定如何将数据分布到各节点的分布方式,以及决定数据排列顺序的排序设计。将经常连接的表按同一个键分布,节点之间的数据移动会减少,连接也会变快。按经常用于筛选的列进行排序,就能避免读取不必要的数据。数据会被自动压缩,从而减少存储和读取量。根据查询模式设计分布和排序,是打造即使面对大规模数据也能快速响应的数据仓库的关键。

数据的加载与转换

向 Redshift 导入数据的基本方式是从 S3 批量加载,可以并行高效地导入。如果采用在数据仓库内部进行转换的 ELT 方式,就能利用强大的处理能力加工大量数据。将频繁执行的汇总做成预先计算并保存结果的物化视图,就能加快重复执行的查询。还有自动调整表优化的功能,可以减少运维的工作量。设计好导入原始数据、在仓库内整理成便于分析的形式的流程,能提高数据利用的效率。

并发与工作负载管理

在许多用户同时执行查询的环境中,性能往往会因争夺资源而下降。Redshift 具备在并发增加时临时扩展处理能力的机制,即使在繁忙时也能保持响应速度。通过工作负载管理功能,可以将查询按重要程度或类型分配到队列,并控制资源的分配。如果优先处理短时间内完成的轻量查询,就能避免这些查询排在繁重查询之后等待。根据用户和作业的特点合理分配资源,有助于公平而高效地使用有限的计算资源。

安全与治理

数据仓库汇集了组织的重要数据,因此保护和访问管理不可或缺。对存储的数据和通信进行加密,将集群部署在 VPC 内并控制网络。按角色授予访问权限,并在列或行的级别限制可查看的范围,即使是同一张表,也能为每位用户改变可查看的范围。还可以对敏感列进行掩码处理加以保护。记录谁访问了哪些数据,以便进行审计。与数据湖联动时也采用一致的权限管理,就能在整个组织中实现管控有序的数据治理。

总结

Redshift 是能够高速执行拍字节级数据分析的云数据仓库。从 Serverless 小规模起步,随工作负载的增长迁移到预置集群的渐进方式是有效的。利用数据共享和 Spectrum,可以防止数据孤岛,实现与数据湖的统一分析。

参考资料(AWS 官方)

本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。

如本页内容与官方文档不一致,请以官方文档为准。

分享