Pro · Lesson 8 of 9

Spectrum and Serverless

Query the lake with Spectrum, share Redshift tables without copying them, and choose Serverless or RA3 from the workload.

Sign in to save your place.

Picture it this way

Spectrum is a window onto files that stay in S3. Redshift asks AWS Glue what the files mean, then reads them for the query. Data sharing is two Redshift warehouses looking at one set of tables without copying them. Serverless is a way to pay for the reading. Iceberg is a table format those files can use when your region and warehouse support it.

Spectrum and Iceberg

An external schema points at a Glue database. External tables describe files in S3. Spectrum queries those files without loading them first. Use it for data you rarely need, or for a lake you already trust. Do not use it for the dashboard that runs every five minutes on a petabyte of raw JSON. Load or materialize that slice.

Where Apache Iceberg is supported, you can query Iceberg tables registered in the Glue Data Catalog. Confirm support for your region and warehouse version before you design around it. Iceberg gives the lake a table with snapshots. Spectrum is still the reader. Neither one fixes a bad distribution on a table you loaded inside Redshift.

CREATE EXTERNAL SCHEMA lake
FROM DATA CATALOG
DATABASE 'analytics_lake'
IAM_ROLE 'arn:aws:iam::123456789012:role/RedshiftSpectrum'
REGION 'us-east-1';

SELECT COUNT(*) FROM lake.events;

Data sharing, Serverless, and RA3

Data sharing lets a producer warehouse share selected objects with a consumer warehouse, including across accounts. The consumer queries live data. You do not COPY it. Govern the share the way you govern a login: list the objects, name the consumer, and review it. A share is not a backup.

NeedReach forDo not expect
Files that should stay in S3Spectrum, or Iceberg when supportedLocal sort keys on the file
Another Redshift team needs the same tablesData sharingA silent full copy
Bursty SQL and no node babysittingServerlessA fixed RA3 bill
Steady heavy SQL you can sizeRA3 provisionedScale-to-zero

Zero-ETL, from the loading lesson, can land operational tables inside the producer. Data sharing can then publish the modeled tables to a consumer. That is a current pattern: replicate in, model, share out.

Three homes for bytes

Query files in S3, read another team's tables, or pay only while queries run.

  1. Data lake (Spectrum)Parquet in S3, not loaded
  2. Data sharingLive tables across clusters
  3. ServerlessBilled in RPU-hours

Step 1 of 3Redshift Spectrum queries Parquet files in S3 through an external schema, without loading them first.

CREATE EXTERNAL SCHEMA lake FROM DATA CATALOG
DATABASE 'lake' IAM_ROLE default;

Practice

Write one sentence for a dataset you know: does it belong in a local table, a Spectrum or Iceberg table, or a data share? The right answer names who updates it and how often it is read. If you cannot say, it is not ready to move.

Knowledge check

What does Spectrum query?

What does data sharing avoid?

When is provisioned RA3 the better fit?

Official sources

Checked against vendor documentation in October 2026. Screens and plan names still change, so confirm the control in your own instance.