navigation

Redshift是AWS的数据仓库服务,可以对PB级别数据运行复杂查询,GCP对标产品是BigQuery

它的架构如下,分为Leader nodeCompute node

img

leader node与compute node

一个Redshift集群至少由一个计算节点(compute node)组成,它上面分为多个slice,每个slice上有独自的磁盘和内存资源。每个node的slice数量由节点大小决定

Leader node用户执行查询计划,以及将compute node的查询结果做聚合返回给用户

                客户端 (BI工具/JDBC/ODBC)
                       │
                       ▼
              ┌─────────────────┐
              │   Leader Node   │  ← 协调者,解析SQL,分发任务
              │   (1个,固定)    │
              └────────┬────────┘
                       │
       ┌───────────────┼───────────────┐
       ▼               ▼               ▼
┌────────────┐  ┌────────────┐  ┌────────────┐
│  Compute   │  │  Compute   │  │  Compute   │  ← 干活的
│  Node 1    │  │  Node 2    │  │  Node 3    │
└────────────┘  └────────────┘  └────────────┘
       │               │               │
       ▼               ▼               ▼
    数据分片1       数据分片2       数据分片3

职责分工:

组件 职责
Leader Node 接收连接、解析 SQL、制定执行计划、分发任务、汇总结果
Compute Node 存储数据、执行扫描/过滤/聚合/JOIN、返回结果给 Leader

详细对比:

特性 Leader Node Compute Node
数量 1 个(固定) 1-128 个(可扩展)
存储数据 ❌ 不存数据 ✅ 存储数据
执行计算 ❌ 只协调 ✅ 实际计算
对外连接 ✅ 唯一入口 ❌ 不直接对外
收费 ❌ 免费 ✅ 按节点收费

必须有 Leader Node 吗?是的,必须有。但有个特殊情况:

集群类型 Leader Node
多节点集群(2+ Compute) Leader Node 独立存在
单节点集群(1 Compute) Leader 和 Compute 合并在同一节点

AWS 官方说法:Leader Node 不单独计费。