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

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

Redshift 架构概述

Redshift 是采用列式存储和大规模并行处理 (MPP) 架构的云数据仓库。列式存储使分析查询仅读取所需列,与行式 RDBMS 相比大幅减少 I/O。Leader 节点负责查询解析和执行计划生成,Compute 节点执行数据并行处理。RA3 实例实现了计算与存储分离,存储层使用 S3 托管存储,可独立扩展计算和存储。

Serverless 与预置集群的选择

Redshift Serverless 以 RPU(Redshift Processing Unit)为单位自动扩展容量,无查询执行时不产生费用。适合 BI 仪表板定期查询、临时分析和开发测试环境等间歇性工作负载。预置集群(RA3)适合常时运行的工作负载。24 小时持续运行 ETL 和大量并发查询时,预置集群的固定费用比 Serverless 的按量计费更经济。

数据共享与 Spectrum 数据湖联动

数据共享是在 Redshift 集群间实时共享实时数据的功能。生产者集群创建数据共享,消费者集群引用它。不发生数据复制,消费者始终引用生产者的最新数据。适用于各部门运行独立集群同时共享公共主数据的场景。Redshift Spectrum 可直接查询 S3 上的数据,无需将数据加载到 Redshift。通过 Glue Data Catalog 管理 S3 数据的表定义,Redshift 的 SQL 可透明地联合查询 Redshift 内部表和 S3 外部表。 关于数据仓库设计的详细解析,可参考Amazon 相关书籍

Redshift 定价

Redshift Serverless 按 RPU 使用量计费,基础 RPU 从 8 起设置,每 RPU 小时约 0.375 美元。无查询执行时不产生费用。预置集群 RA3.xlplus 每节点约 1.086 美元/小时(月费约 782 美元),预留实例可享最高 75% 折扣。Serverless 适合间歇性工作负载,预置集群适合常时运行工作负载。数据共享的消费者集群仅对自身计算资源付费,不对生产者数据产生额外存储费用。

总结

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