Snowflake, BigQuery & Databricks · Amazon Redshift

Redshift RA3 nodes and managed storage

awsMediumredshiftra3managed-storagestorage-compute-separation

Interview question

How do Redshift RA3 nodes decouple compute from storage?

How to answer

The short answer

In traditional on-premises data warehouses and older Redshift DC2 node families, compute capacity and disk storage were tightly coupled. If your database grew from 10 terabytes to 50 terabytes, you had to add more compute nodes, even if your query CPU load was low.

Redshift RA3 instances decouple compute from storage by introducing Redshift Managed Storage (RMS).

Architecture of Redshift Managed Storage

RMS uses Amazon S3 as the persistent storage layer for all database blocks. Each RA3 compute node includes high-performance solid-state NVMe drives that serve as an intelligent local tier cache.

When a query runs, the node checks its local NVMe cache. If the blocks are present, the query executes at solid-state speeds. If the required blocks are cold, high-bandwidth internal connections stream the blocks from RMS into memory automatically.

Key advantages of RA3

  • Independent scaling: You size your cluster based strictly on the CPU, memory, and concurrency your analytics require. Your storage scales independently up to petabytes per cluster.
  • Data sharing: Because data resides durably in managed storage, one Redshift cluster can share live tables and schemas with another Redshift cluster across accounts without copying or moving files.