Amazon Redshift

Redshift is AWS's data warehouse service, designed for teams that run their entire stack on AWS and want tight integration with S3, Glue, and Kinesis. It offers both provisioned clusters (fixed capacity) and Redshift Serverless (auto-scaling). Redshift is cheaper than Snowflake for sustained workloads but requires more tuning (distribution keys, sort keys, vacuum jobs). Teams use it for cost-sensitive GTM analytics when AWS ecosystem lock-in is acceptable.

Why it ranks here

  • Lowest cost per query among major warehouses for sustained, high-throughput workloads; reserved instances cut costs further.
  • Native integration with AWS services (S3, Glue, Lambda, Kinesis) eliminates data movement and egress fees.
  • Redshift Spectrum queries data in S3 without loading it into the warehouse, extending the platform into a lakehouse pattern.

Where it sits

  • Snowflake offers better concurrency, simpler operations, and a richer third-party ecosystem.
  • BigQuery is easier to set up and cheaper for infrequent, large scans; Redshift requires cluster management.
  • Databricks provides unified batch, streaming, and ML; Redshift is SQL-only and requires separate tools for ML.

How GTM Systems teams use it

  • Load Salesforce, Marketo, and product usage data via Fivetran or AWS Glue, then build dbt models that produce customer and opportunity fact tables for Tableau or Sigma.
  • Use Redshift Spectrum to query raw JSON logs in S3 alongside structured CRM data in Redshift tables, cutting storage costs for high-volume event data.
  • Schedule transformation jobs with Airflow or Step Functions, run VACUUM and ANALYZE commands in maintenance windows to keep query performance stable.
  • Grant IAM-based access to analysts and BI tools; use Redshift data sharing to expose curated datasets to other AWS accounts without copying data.

In-depth notes

  • Provisioned clusters and serverless options available; compare total cost against Snowflake for your workload.
  • Redshift requires tuning: choose distribution keys (EVEN, KEY, ALL) and sort keys to optimize joins and filters. Poorly tuned tables degrade performance.
  • VACUUM and ANALYZE commands are semi-automatic but require monitoring; neglecting them causes query slowdowns over time.
  • Concurrency Scaling adds automatic read replicas during peak load; useful for dashboard spikes but adds cost.
  • Cross-region queries and S3 access incur egress fees; keep Redshift, S3, and application workloads in the same AWS region.

Best for

AWS-native teams with sustained, high-volume query workloads; cost-sensitive organizations willing to invest in tuning and maintenance.

Avoid if

You run a multi-cloud stack or need Snowflake's zero-tuning simplicity. Redshift's operational overhead outweighs cost savings for small teams.

The rest of Data warehouse & modeling

#1 Snowflake Leader Cloud data warehouse with compute-separate-from-storage architecture; dominant choice for GTM analytics and cross-system reporting. #2 Google BigQuery Leader Serverless cloud data warehouse on GCP; pay-per-query pricing and tight integration with Google Analytics and Sheets. #3 dbt (data build tool) Leader SQL-based transformation framework; turns raw warehouse tables into tested, version-controlled models using Jinja-templated SELECT statements. #4 Databricks Strong Unified lakehouse platform combining data warehousing, streaming, and ML; built on Apache Spark and Delta Lake. #6 Microsoft Fabric Strong Unified analytics platform combining data warehouse (Synapse), lakehouse, data integration, and Power BI; Azure-native. #7 ClickHouse Situational Open-source columnar database optimized for real-time analytics; extremely fast for aggregations on high-volume event data. #8 SQLMesh Situational Data transformation framework focused on incremental builds, fast CI, and column-level lineage; positioned as a next-generation dbt alternative. #9 Coalesce Situational Visual data transformation platform built on Snowflake; provides a drag-and-drop DAG builder that compiles to dbt-compatible SQL. #10 MotherDuck Situational Serverless cloud service for DuckDB; combines local query execution with cloud-based collaboration and storage. #11 Firebolt Niche Cloud data warehouse optimized for sub-second query latency on large datasets; uses sparse indexing and aggressive caching.

Learning guide

Intermediate Time to value: First cluster running in 4 hours

Setup

Provision a Redshift cluster in the AWS Console (start with dc2.large, 2 nodes) or enable Redshift Serverless for auto-scaling. Load sample data from S3 using COPY FROM and verify query performance with a simple SELECT.

First thing to build

Create a fact table from raw Salesforce data using CREATE TABLE with distribution and sort keys. Choose DISTKEY on the most-joined column (account_id or opportunity_id) and SORTKEY on the most-filtered column (close_date or created_date).

What actually matters

  • Distribution keys: use KEY for large fact tables joined by a single column, ALL for small dimension tables under 1 million rows, and EVEN for tables with no clear join pattern.
  • Sort keys: compound sort keys (multiple columns) optimize range filters on dates and IDs; interleaved sort keys work for multiple filter patterns but slow down ingestion.
  • VACUUM and ANALYZE: schedule VACUUM DELETE to reclaim space after deletes and ANALYZE to refresh query planner statistics; run weekly or after large loads.
  • Concurrency Scaling: enable it to auto-add read replicas during dashboard spikes; you pay per-second for the extra compute.

Watch out

Skipping distribution and sort key design on large tables causes slow joins and full-table scans; plan the schema before loading production data.