Google BigQuery vs Amazon Redshift 2026: āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš Data Warehouse āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Data Analyst

āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ­āļĒāđˆāļēāļ‡āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļĢāļ°āļŦāļ§āđˆāļēāļ‡ Google BigQuery āđāļĨāļ° Amazon Redshift āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ āļĢāļēāļ„āļē āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒāļŠāļģāļŦāļĢāļąāļšāļ•āļģāđāļŦāļ™āđˆāļ‡ Data Analyst āļ›āļĩ 2026

Google BigQuery vs Amazon Redshift 2026: āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš Data Warehouse āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Data Analyst

Google BigQuery āđāļĨāļ° Amazon Redshift āļ„āļĢāļ­āļ‡āļ•āļĨāļēāļ” cloud data warehouse āđƒāļ™āļ›āļĩ 2026 āđ‚āļ”āļĒāđāļ•āđˆāļĨāļ°āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļĄāļĩāļ‚āđ‰āļ­āđ„āļ”āđ‰āđ€āļ›āļĢāļĩāļĒāļšāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āļŠāļģāļŦāļĢāļąāļš workload data analytics āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ™āļĩāđ‰āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ”āđ‰āļēāļ™āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ āđ‚āļĄāđ€āļ”āļĨāļĢāļēāļ„āļē āļĨāļąāļāļĐāļ“āļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ—āļĩāđˆāļœāļđāđ‰āļŠāļĄāļąāļ„āļĢ data analyst āļĄāļąāļāļžāļš

āļ„āļđāđˆāļĄāļ·āļ­āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļ­āļĒāđˆāļēāļ‡āļĢāļ§āļ”āđ€āļĢāđ‡āļ§

āđ€āļĨāļ·āļ­āļ BigQuery āļŠāļģāļŦāļĢāļąāļšāļ„āļ§āļēāļĄāđ€āļĢāļĩāļĒāļšāļ‡āđˆāļēāļĒāđāļšāļš serverless āļĢāļēāļ„āļē pay-per-query āđāļĨāļ°āļāļēāļĢāļĢāļ§āļĄāļāļąāļš GCP āļ­āļĒāđˆāļēāļ‡āđāļ™āđˆāļ™āļŦāļ™āļē āđ€āļĨāļ·āļ­āļ Redshift āļŠāļģāļŦāļĢāļąāļšāļ•āđ‰āļ™āļ—āļļāļ™āļ—āļĩāđˆāļ„āļēāļ”āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰āđƒāļ™āļĢāļ°āļ”āļąāļšāđƒāļŦāļāđˆ pipeline ETL āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™ āđāļĨāļ°āļāļēāļĢāļĢāļ§āļĄāļāļąāļšāļĢāļ°āļšāļšāļ™āļīāđ€āļ§āļĻ AWS āļ­āļĒāđˆāļēāļ‡āļĨāļķāļāļ‹āļķāđ‰āļ‡

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ”āđ‰āļēāļ™āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļĢāļ°āļŦāļ§āđˆāļēāļ‡ BigQuery āđāļĨāļ° Redshift

BigQuery āđƒāļŠāđ‰āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ serverless āđāļšāļš multi-tenant āļ—āļĩāđˆ storage āđāļĨāļ° compute āđāļĒāļāļ­āļ­āļāļˆāļēāļāļāļąāļ™āļ­āļĒāđˆāļēāļ‡āļŠāļĄāļšāļđāļĢāļ“āđŒ Query āļ—āļģāļ‡āļēāļ™āļšāļ™ resource āļ—āļĩāđˆāļˆāļąāļ”āļŠāļĢāļĢāđāļšāļšāđ„āļ”āļ™āļēāļĄāļīāļāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļˆāļąāļ”āļāļēāļĢ cluster āđ€āļĨāļĒ Google āļˆāļąāļ”āļāļēāļĢāļāļēāļĢ scaling infrastructure, patching āđāļĨāļ° optimization āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī

Redshift āļ—āļģāļ‡āļēāļ™āļšāļ™āđ‚āļĄāđ€āļ”āļĨ provisioned cluster āļ”āđ‰āļ§āļĒ node āđ€āļ‰āļžāļēāļ° Storage āđāļĨāļ° compute āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļ™āļ­āļĒāđˆāļēāļ‡āđāļ™āđˆāļ™āļŦāļ™āļēāļ āļēāļĒāđƒāļ™ node āđāļĄāđ‰āļ§āđˆāļē Redshift Serverless āļˆāļ°āđ€āļŠāļ™āļ­āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāđāļšāļš consumption-based āđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™ Node type RA3 āđ„āļ”āđ‰āđāļ™āļ°āļ™āļģāļāļēāļĢāđāļĒāļ managed storage āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ– scaling compute āđāļĨāļ° storage āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļ­āļīāļŠāļĢāļ°

| āļ”āđ‰āļēāļ™ | BigQuery | Redshift | |------|----------|----------| | Deployment | Serverless āđ€āļ•āđ‡āļĄāļĢāļđāļ›āđāļšāļš | Provisioned clusters āļŦāļĢāļ·āļ­ Serverless | | Storage-Compute | āđāļĒāļāļ­āļ­āļāļˆāļēāļāļāļąāļ™āļ­āļĒāđˆāļēāļ‡āļŠāļĄāļšāļđāļĢāļ“āđŒ | Coupled (RA3 āđāļĒāļ managed storage) | | Scaling | āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī | Manual resize āļŦāļĢāļ·āļ­ Concurrency Scaling | | Maintenance | āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ | āļ•āđ‰āļ­āļ‡āļāļēāļĢ maintenance windows | | Cold Start | āđ„āļĄāđˆāļĄāļĩ | āđ€āļ§āļĨāļē resume cluster āļŦāļēāļāļ–āļđāļ pause |

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ”āđ‰āļēāļ™āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄāļ™āļĩāđ‰āļŠāđˆāļ‡āļœāļĨāļāļĢāļ°āļ—āļšāļ­āļĒāđˆāļēāļ‡āļĄāļēāļāļ•āđˆāļ­ overhead āđƒāļ™āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļ‡āļēāļ™ BigQuery āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ capacity planning āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ Redshift āļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāđ€āļāļĩāđˆāļĒāļ§āļāļąāļš cluster sizing āđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļ•āļēāļĢāļēāļ‡ maintenance āļ­āļĒāđˆāļēāļ‡āļ•āđˆāļ­āđ€āļ™āļ·āđˆāļ­āļ‡

āđ‚āļĄāđ€āļ”āļĨāļĢāļēāļ„āļē: Pay-per-Query vs Provisioned Capacity

BigQuery āļ„āļīāļ”āļ„āđˆāļēāļšāļĢāļīāļāļēāļĢ $6.25 āļ•āđˆāļ­ TB āļ—āļĩāđˆāļ–āļđāļ scan āđƒāļ™āđ‚āļŦāļĄāļ” on-demand āļ“ āļ›āļĩ 2026 āļĢāļēāļ„āļē reserved capacity (flat-rate) āđ€āļŠāļ™āļ­āļ•āđ‰āļ™āļ—āļļāļ™āļĢāļēāļĒāđ€āļ”āļ·āļ­āļ™āļ—āļĩāđˆāļ„āļēāļ”āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰āļŠāļģāļŦāļĢāļąāļš workload āļ—āļĩāđˆāļŠāļĄāđˆāļģāđ€āļŠāļĄāļ­ āļ„āđˆāļē storage āļ„āļ·āļ­ $0.02/GB/āđ€āļ”āļ·āļ­āļ™ āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨ active āđāļĨāļ° $0.01/GB/āđ€āļ”āļ·āļ­āļ™ āļŠāļģāļŦāļĢāļąāļš long-term storage āļŦāļĨāļąāļ‡āļˆāļēāļ 90 āļ§āļąāļ™

sql
-- BigQuery: āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āđˆāļēāđƒāļŠāđ‰āļˆāđˆāļēāļĒ query āļāđˆāļ­āļ™āļāļēāļĢ execute
SELECT
  total_bytes_billed / POW(10, 12) AS tb_billed,
  (total_bytes_billed / POW(10, 12)) * 6.25 AS estimated_cost_usd
FROM `region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE job_id = 'your-job-id';

āļĢāļēāļ„āļē Redshift āļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļ›āļĢāļ°āđ€āļ āļ—āđāļĨāļ°āļˆāļģāļ™āļ§āļ™ node Node DC2 (dense compute) āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ—āļĩāđˆ $0.25/āļŠāļąāđˆāļ§āđ‚āļĄāļ‡ āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ node RA3 āļžāļĢāđ‰āļ­āļĄ managed storage āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ—āļĩāđˆ $1.086/āļŠāļąāđˆāļ§āđ‚āļĄāļ‡ Redshift Serverless āļ„āļīāļ”āļ„āđˆāļēāļšāļĢāļīāļāļēāļĢāļ•āļēāļĄ Redshift Processing Units (RPU) āļ—āļĩāđˆāđƒāļŠāđ‰

āļāļĨāļĒāļļāļ—āļ˜āđŒāļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ•āđ‰āļ™āļ—āļļāļ™āđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āļ­āļĒāđˆāļēāļ‡āļĄāļēāļ BigQuery āđƒāļŦāđ‰āļĢāļēāļ‡āļ§āļąāļĨāļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž query āļœāđˆāļēāļ™ partitioning āđāļĨāļ° clustering āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāļāļēāļĢ scan āļ‚āđ‰āļ­āļĄāļđāļĨāļ™āđ‰āļ­āļĒāļĨāļ‡āļˆāļ°āļĨāļ”āļ•āđ‰āļ™āļ—āļļāļ™āđ‚āļ”āļĒāļ•āļĢāļ‡ āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž Redshift āļĄāļļāđˆāļ‡āđ€āļ™āđ‰āļ™āļ—āļĩāđˆ right-sizing cluster āđāļĨāļ°āđƒāļŠāđ‰āļ›āļĢāļ°āđ‚āļĒāļŠāļ™āđŒāļˆāļēāļ reserved instances āļŠāļģāļŦāļĢāļąāļš workload āļ—āļĩāđˆāļ„āļēāļ”āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ‚āļ­āļ‡ SQL Syntax āđāļĨāļ° Function

āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļĢāļ­āļ‡āļĢāļąāļš ANSI SQL āđāļ•āđˆāļĄāļĩāļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ‚āļ­āļ‡ syntax āļŠāļģāļŦāļĢāļąāļšāļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ‚āļąāđ‰āļ™āļŠāļđāļ‡ āļāļēāļĢāļ—āļģāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļŠāļģāļ„āļąāļāļŠāļģāļŦāļĢāļąāļšāļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ SQL āđāļĨāļ°āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ migration

sql
-- BigQuery: Date functions āđƒāļŠāđ‰ EXTRACT āđāļĨāļ° DATE_TRUNC
SELECT
  DATE_TRUNC(order_date, MONTH) AS order_month,
  EXTRACT(DAYOFWEEK FROM order_date) AS day_of_week,
  COUNT(*) AS order_count
FROM `project.dataset.orders`
WHERE order_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 1 YEAR)
GROUP BY 1, 2;

-- Redshift: āļ„āļĨāđ‰āļēāļĒāļāļąāļ™āđāļ•āđˆāđƒāļŠāđ‰ DATE_TRUNC āļāļąāļš string argument
SELECT
  DATE_TRUNC('month', order_date) AS order_month,
  EXTRACT(DOW FROM order_date) AS day_of_week,
  COUNT(*) AS order_count
FROM orders
WHERE order_date >= DATEADD(year, -1, CURRENT_DATE)
GROUP BY 1, 2;

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ array āđāļĨāļ° struct āđāļŠāļ”āļ‡āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ—āļĩāđˆāļŠāļģāļ„āļąāļ BigQuery āļĢāļ­āļ‡āļĢāļąāļš nested āđāļĨāļ° repeated fields āđāļšāļš native āļ”āđ‰āļ§āļĒ operation UNNEST Redshift āļˆāļąāļ”āļāļēāļĢ semi-structured data āļœāđˆāļēāļ™ SUPER type āđāļĨāļ° PartiQL syntax āļ—āļĩāđˆāđ€āļ›āļīāļ”āļ•āļąāļ§āđƒāļ™āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļĨāđˆāļēāļŠāļļāļ”

sql
-- BigQuery: āļ—āļģāļ‡āļēāļ™āļāļąāļš nested arrays
SELECT
  user_id,
  event.name AS event_name,
  event.timestamp AS event_time
FROM `analytics.events`,
UNNEST(events) AS event
WHERE DATE(event.timestamp) = CURRENT_DATE();

-- Redshift: SUPER type āļāļąāļš PartiQL
SELECT
  user_id,
  e.name AS event_name,
  e.timestamp AS event_time
FROM events_table AS t, t.events AS e
WHERE DATE(e.timestamp) = CURRENT_DATE;

āļĨāļąāļāļĐāļ“āļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļĨāļ°āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž Query

BigQuery āđ‚āļ”āļ”āđ€āļ”āđˆāļ™āđƒāļ™ analytical query āđāļšāļš ad-hoc āļšāļ™ dataset āļ‚āļ™āļēāļ”āđƒāļŦāļāđˆāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡ tuning āđ‚āļĄāđ€āļ”āļĨāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđāļšāļš slot-based āļāļĢāļ°āļˆāļēāļĒāļ‡āļēāļ™āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļĒāļąāļ‡āļ„āļ‡āļŠāļĄāđˆāļģāđ€āļŠāļĄāļ­āđ‚āļ”āļĒāđ„āļĄāđˆāļ„āļģāļ™āļķāļ‡āļ–āļķāļ‡āļˆāļģāļ™āļ§āļ™ concurrent users āđ€āļ™āļ·āđˆāļ­āļ‡āļˆāļēāļāđāļ•āđˆāļĨāļ° query āđ„āļ”āđ‰āļĢāļąāļš resource āđ€āļ‰āļžāļēāļ°āļˆāļēāļ slot pool

Redshift āđƒāļŦāđ‰āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ—āļĩāđˆāđ€āļŦāļ™āļ·āļ­āļāļ§āđˆāļēāļŠāļģāļŦāļĢāļąāļš query āļ—āļĩāđˆāļ„āļēāļ”āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰āđāļĨāļ°āļ—āļģāļ‹āđ‰āļģāđ€āļĄāļ·āđˆāļ­āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢ tune āļ­āļĒāđˆāļēāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡ Distribution keys, sort keys āđāļĨāļ° materialized views āļŠāđˆāļ‡āļœāļĨāļāļĢāļ°āļ—āļšāļ­āļĒāđˆāļēāļ‡āļĄāļēāļāļ•āđˆāļ­āļ„āļ§āļēāļĄāđ€āļĢāđ‡āļ§ query Query planner āļŠāļĢāđ‰āļēāļ‡ execution plan āļ—āļĩāđˆ optimize āđāļĨāđ‰āļ§āļ•āļēāļĄ table statistics

sql
-- Redshift: āļāļģāļŦāļ™āļ” distribution āđāļĨāļ° sort keys
CREATE TABLE sales_fact (
  sale_id BIGINT,
  customer_id BIGINT,
  product_id BIGINT,
  sale_date DATE,
  amount DECIMAL(10, 2)
)
DISTKEY(customer_id)
SORTKEY(sale_date);

-- Redshift: Materialized view āļŠāļģāļŦāļĢāļąāļš dashboard query
CREATE MATERIALIZED VIEW daily_sales_summary AS
SELECT
  sale_date,
  COUNT(*) AS transaction_count,
  SUM(amount) AS total_revenue
FROM sales_fact
GROUP BY sale_date;

āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž BigQuery āļ­āļēāļĻāļąāļĒ partitioning āđāļĨāļ° clustering Partitioning āļĨāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ–āļđāļ scan āļ•āļēāļĄāļŠāđˆāļ§āļ‡āļ§āļąāļ™āļ—āļĩāđˆāļŦāļĢāļ·āļ­ integer Clustering āļˆāļąāļ”āđ€āļĢāļĩāļĒāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļ āļēāļĒāđƒāļ™ partition āđ€āļžāļ·āđˆāļ­ filter query āļ—āļĩāđˆāđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™

sql
-- BigQuery: āļ•āļēāļĢāļēāļ‡ partitioned āđāļĨāļ° clustered
CREATE TABLE `project.dataset.sales_fact`
PARTITION BY DATE(sale_date)
CLUSTER BY customer_id, product_id
AS SELECT * FROM `project.dataset.raw_sales`;

āļŠāļģāļŦāļĢāļąāļšāļāļĨāļĒāļļāļ—āļ˜āđŒ performance tuning āđƒāļ™āļŦāļąāļ§āļ‚āđ‰āļ­āļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡ āļ„āļđāđˆāļĄāļ·āļ­ window functions āđāļĨāļ° CTE āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄāđ€āļ—āļ„āļ™āļīāļ„āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž query āļ‚āļąāđ‰āļ™āļŠāļđāļ‡

āļžāļĢāđ‰āļ­āļĄāļ—āļĩāđˆāļˆāļ°āļžāļīāļŠāļīāļ•āļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Data Analytics āđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡āļ„āļĢāļąāļš?

āļāļķāļāļāļ™āļ”āđ‰āļ§āļĒāļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āđāļšāļšāđ‚āļ•āđ‰āļ•āļ­āļš, flashcards āđāļĨāļ°āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„āļ„āļĢāļąāļš

Data Loading āđāļĨāļ°āļāļēāļĢāļĢāļ§āļĄ ETL

BigQuery āļĢāļ­āļ‡āļĢāļąāļš streaming inserts āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨ real-time āļ”āđ‰āļ§āļĒāļ„āđˆāļēāđƒāļŠāđ‰āļˆāđˆāļēāļĒ $0.05 āļ•āđˆāļ­ GB, batch loading āļˆāļēāļ Cloud Storage āļŸāļĢāļĩ āđāļĨāļ° native connectors āļŠāļģāļŦāļĢāļąāļš Dataflow āđāļĨāļ° Pub/Sub BigQuery Data Transfer Service āļ—āļģāļāļēāļĢ import āļ•āļēāļĄāļāļģāļŦāļ™āļ”āđ€āļ§āļĨāļēāļˆāļēāļāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ SaaS āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī

sql
-- BigQuery: Loading data āļˆāļēāļ Cloud Storage
LOAD DATA INTO `project.dataset.events`
FROM FILES (
  format = 'PARQUET',
  uris = ['gs://bucket/events/*.parquet']
);

Redshift āļĢāļ§āļĄāļāļąāļš S3 āļ­āļĒāđˆāļēāļ‡āđāļ™āđˆāļ™āļŦāļ™āļēāļœāđˆāļēāļ™āļ„āļģāļŠāļąāđˆāļ‡ COPY āļ‹āļķāđˆāļ‡āļ—āļģāļāļēāļĢ parallelize data loading āļ‚āđ‰āļēāļĄ cluster nodes AWS Glue āđƒāļŦāđ‰ managed ETL āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ Redshift Spectrum query āļ‚āđ‰āļ­āļĄāļđāļĨ S3 āđ‚āļ”āļĒāļ•āļĢāļ‡āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡ loading

sql
-- Redshift: āļ„āļģāļŠāļąāđˆāļ‡ COPY āļžāļĢāđ‰āļ­āļĄāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄ
COPY events
FROM 's3://bucket/events/'
IAM_ROLE 'arn:aws:iam::123456789:role/RedshiftS3Access'
FORMAT AS PARQUET
COMPUPDATE ON
STATUPDATE ON;

āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļĢāļ­āļ‡āļĢāļąāļšāļĢāļđāļ›āđāļšāļšāļ•āļēāļĢāļēāļ‡ Apache Iceberg āļŠāļģāļŦāļĢāļąāļš data lake āļ āļēāļĒāļ™āļ­āļāđāļĨāđ‰āļ§ BigQuery BigLake āđāļĨāļ° Redshift Spectrum āļŠāđˆāļ§āļĒāđƒāļŦāđ‰ analytics āļĢāļ§āļĄāļ‚āđ‰āļēāļĄ data warehouse āđāļĨāļ° data lake storage

āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ: āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš BigQuery vs Redshift

āļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ data analyst āļĄāļąāļāļ—āļ”āļŠāļ­āļšāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāđ€āļāļĩāđˆāļĒāļ§āļāļąāļš tradeoff āļ‚āļ­āļ‡ cloud data warehouse āļ„āļģāļ–āļēāļĄāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āļ›āļĢāļēāļāļāđƒāļ™āļšāļ—āļšāļēāļ—āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āļ§āļēāļĄāđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ cloud platform

āļ„āļģāļ–āļēāļĄ 1: āđ€āļĄāļ·āđˆāļ­āđƒāļ”āļ„āļ§āļĢāđāļ™āļ°āļ™āļģ BigQuery āđāļ—āļ™ Redshift?

āđāļ™āļ°āļ™āļģ BigQuery āđ€āļĄāļ·āđˆāļ­āļ­āļ‡āļ„āđŒāļāļĢāļ•āđ‰āļ­āļ‡āļāļēāļĢāļāļēāļĢāļ—āļģāļ‡āļēāļ™āđāļšāļš serverless āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļˆāļąāļ”āļāļēāļĢ infrastructure, āļĢāļēāļ„āļē pay-per-query āđ€āļŦāļĄāļēāļ°āļāļąāļš workload āļ—āļĩāđˆāļ„āļēāļ”āļāļēāļĢāļ“āđŒāđ„āļĄāđˆāđ„āļ”āđ‰āļŦāļĢāļ·āļ­āļĄāļĩāļĨāļąāļāļĐāļ“āļ° spiky, data platform āļ—āļģāļ‡āļēāļ™āļšāļ™ GCP āļ­āļĒāļđāđˆāđāļĨāđ‰āļ§ āļŦāļĢāļ·āļ­āļ—āļĩāļĄāļ•āđ‰āļ­āļ‡āļāļēāļĢāļœāļĨāļĨāļąāļžāļ˜āđŒ query āļ—āļąāļ™āļ—āļĩāļšāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ°āļ”āļąāļš petabyte āđ‚āļ”āļĒāđ„āļĄāđˆāļĄāļĩ delay āļˆāļēāļāļāļēāļĢ provisioning cluster

āļ„āļģāļ–āļēāļĄ 2: āļāļēāļĢāļˆāļąāļ”āļŠāļĢāļĢ slot āļ—āļģāļ‡āļēāļ™āļ­āļĒāđˆāļēāļ‡āđ„āļĢāđƒāļ™ BigQuery?

BigQuery āļˆāļąāļ”āļŠāļĢāļĢ slot (āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļļāļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨ) āđƒāļŦāđ‰āļāļąāļš query āđāļšāļšāđ„āļ”āļ™āļēāļĄāļīāļ Query āđāļšāļš on-demand āđāļŠāļĢāđŒ pool 2,000 slot āļ•āđˆāļ­āđ‚āļ›āļĢāđ€āļˆāļāļ•āđŒ āđāļ•āđˆāļĨāļ° slot āđāļ—āļ™ virtual CPU āļ›āļĢāļ°āļĄāļēāļ“āļŦāļ™āļķāđˆāļ‡āļ•āļąāļ§āļžāļĢāđ‰āļ­āļĄ streaming access āđ„āļ›āļĒāļąāļ‡ Colossus (distributed storage) Query āļ—āļĩāđˆāļ‹āļąāļšāļ‹āđ‰āļ­āļ™āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ parallelism āļĄāļēāļāļ‚āļķāđ‰āļ™āļˆāļ°āđ„āļ”āđ‰āļĢāļąāļš slot āļĄāļēāļāļ‚āļķāđ‰āļ™āļ•āļēāļĄāļŠāļąāļ”āļŠāđˆāļ§āļ™āļˆāļ™āļāļ§āđˆāļēāļˆāļ°āļŦāļĄāļ”āļ„āļ§āļēāļĄāļˆāļļāļ—āļĩāđˆāļĄāļĩ

āļ„āļģāļ–āļēāļĄ 3: āļ­āļ˜āļīāļšāļēāļĒ distribution styles āļ‚āļ­āļ‡ Redshift āđāļĨāļ°āđ€āļĄāļ·āđˆāļ­āđƒāļ”āļ„āļ§āļĢāđƒāļŠāđ‰āđāļ•āđˆāļĨāļ°āđāļšāļš

Redshift āđ€āļŠāļ™āļ­ distribution styles āļŠāļĩāđˆāđāļšāļš:

  • KEY: āļāļĢāļ°āļˆāļēāļĒāđāļ–āļ§āļ•āļēāļĄ hash āļ‚āļ­āļ‡āļ„āļ­āļĨāļąāļĄāļ™āđŒāļ—āļĩāđˆāļĢāļ°āļšāļļ āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ•āļēāļĢāļēāļ‡ fact āļ‚āļ™āļēāļ”āđƒāļŦāļāđˆāļ—āļĩāđˆāļ–āļđāļ join āļšāđˆāļ­āļĒāļšāļ™āļ„āļ­āļĨāļąāļĄāļ™āđŒāļ™āļąāđ‰āļ™
  • EVEN: āļāļĢāļ°āļˆāļēāļĒāđāļ–āļ§āđāļšāļš round-robin āļ‚āđ‰āļēāļĄ node āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ•āļēāļĢāļēāļ‡āļ—āļĩāđˆāđ„āļĄāđˆāļĄāļĩ pattern āļāļēāļĢ join āļ—āļĩāđˆāļŠāļąāļ”āđ€āļˆāļ™
  • ALL: āļ„āļąāļ”āļĨāļ­āļāļ—āļąāđ‰āļ‡āļ•āļēāļĢāļēāļ‡āđ„āļ›āļĒāļąāļ‡āļ—āļļāļ node āđƒāļŠāđ‰āļŠāļģāļŦāļĢāļąāļšāļ•āļēāļĢāļēāļ‡ dimension āļ‚āļ™āļēāļ”āđ€āļĨāđ‡āļāļ—āļĩāđˆāļ–āļđāļ join āļāļąāļš fact āļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ
  • AUTO: āđƒāļŦāđ‰ Redshift āđ€āļĨāļ·āļ­āļāļ•āļēāļĄāļ‚āļ™āļēāļ”āļ•āļēāļĢāļēāļ‡āđāļĨāļ° query patterns

āļ„āļģāļ–āļēāļĄ 4: āļˆāļ°āđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ•āđ‰āļ™āļ—āļļāļ™ query āđƒāļ™ BigQuery āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ•āđ‰āļ™āļ—āļļāļ™ BigQuery āđ‚āļ”āļĒāļāļēāļĢ partition āļ•āļēāļĢāļēāļ‡āļšāļ™āļ„āļ­āļĨāļąāļĄāļ™āđŒāļ§āļąāļ™āļ—āļĩāđˆāļ—āļĩāđˆāļ–āļđāļ filter āļšāđˆāļ­āļĒ, clustering āļšāļ™āļ„āļ­āļĨāļąāļĄāļ™āđŒ filter āļ—āļĩāđˆāļĄāļĩ high-cardinality, āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡ query SELECT *, āđƒāļŠāđ‰āļŸāļąāļ‡āļāđŒāļŠāļąāļ™ approximate aggregation (APPROX_COUNT_DISTINCT) āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāđ€āļŠāļīāļ‡āļŠāļģāļĢāļ§āļˆ, materialize āļœāļĨāļĨāļąāļžāļ˜āđŒ intermediate āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ„āļģāļ™āļ§āļ“āļ—āļĩāđˆāļ—āļģāļ‹āđ‰āļģ āđāļĨāļ°āļ•āļąāđ‰āļ‡ cost controls āļ”āđ‰āļ§āļĒ custom quotas

āļ„āļģāļ–āļēāļĄ 5: āļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ monitoring āļ­āļ°āđ„āļĢāļšāđ‰āļēāļ‡āļŠāļģāļŦāļĢāļąāļšāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž Redshift?

Redshift āļĄāļĩ system tables āđāļĨāļ° views āļŠāļģāļŦāļĢāļąāļš performance monitoring: STL_QUERY āļšāļąāļ™āļ—āļķāļāļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡ query, STL_WLM_QUERY āđāļŠāļ”āļ‡āļŠāļ–āļīāļ•āļī workload management, SVL_QUERY_REPORT āđāļŠāļ”āļ‡ metrics āļĢāļ°āļ”āļąāļš step āđāļĨāļ° CloudWatch metrics āļ•āļīāļ”āļ•āļēāļĄ health āļĢāļ°āļ”āļąāļš cluster āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž query āļ­āļēāļˆāļĨāļ”āļĨāļ‡āđ€āļĄāļ·āđˆāļ­ vacuum operations āļ„āđ‰āļēāļ‡āļ­āļĒāļđāđˆāļŦāļĢāļ·āļ­āđ€āļĄāļ·āđˆāļ­ table statistics āļĨāđ‰āļēāļŠāļĄāļąāļĒ

āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ° Compliance

āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļĢāļ­āļ‡āļĢāļąāļš column-level encryption, VPC isolation āđāļĨāļ° audit logging BigQuery āļšāļąāļ‡āļ„āļąāļšāđƒāļŠāđ‰ fine-grained access āļœāđˆāļēāļ™ IAM āđāļĨāļ° column-level security policies Data masking āđāļĨāļ° row-level security āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ multi-tenant āđ€āļ›āđ‡āļ™āđ„āļ›āđ„āļ”āđ‰

Redshift āđ€āļŠāļ™āļ­ control āļ—āļĩāđˆāļ„āļĨāđ‰āļēāļĒāļāļąāļ™āļœāđˆāļēāļ™āļāļēāļĢāļĢāļ§āļĄ IAM, column-level access control āđāļĨāļ° dynamic data masking Cross-region snapshot replication āļĢāļ­āļ‡āļĢāļąāļšāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ” disaster recovery

āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļĢāļąāļāļĐāļē certification compliance SOC 1/2/3, ISO 27001, HIPAA āđāļĨāļ° PCI DSS Feature parity āļĄāļĩāļ­āļĒāļđāđˆāļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļĢāļ°āļ”āļąāļš enterprise āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ āļ—āļģāđƒāļŦāđ‰āļāļēāļĢāđ€āļĨāļ·āļ­āļāļ‚āļķāđ‰āļ™āļ­āļĒāļđāđˆāļāļąāļšāļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļāļąāļš cloud provider āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļĄāļēāļāļāļ§āđˆāļēāļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒ

āļ‚āđ‰āļ­āļžāļīāļˆāļēāļĢāļ“āļēāļāļēāļĢ Migration āđāļĨāļ°āđāļ™āļ§āļ—āļēāļ‡ Hybrid

āļāļēāļĢ migration āļĢāļ°āļŦāļ§āđˆāļēāļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļ•āđ‰āļ­āļ‡āļˆāļąāļ”āļāļēāļĢāļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ‚āļ­āļ‡ SQL dialect, āļāļēāļĢ mapping data type āđāļĨāļ°āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ ETL workflow āđƒāļŦāļĄāđˆ BigQuery Migration Service āļ›āļĢāļ°āđ€āļĄāļīāļ™ Redshift workloads āđāļĨāļ°āļ—āļģ SQL translation āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī AWS Database Migration Service āļˆāļąāļ”āļāļēāļĢāļ—āļīāļĻāļ—āļēāļ‡āļ•āļĢāļ‡āļāļąāļ™āļ‚āđ‰āļēāļĄ

āļŦāļĨāļēāļĒāļ­āļ‡āļ„āđŒāļāļĢāđƒāļŠāđ‰āļāļĨāļĒāļļāļ—āļ˜āđŒ hybrid āđ‚āļ”āļĒ query āļ‚āđ‰āļēāļĄāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļœāđˆāļēāļ™āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ– federated query BigQuery Omni āļ—āļģāļ‡āļēāļ™āļšāļ™ infrastructure AWS āļ—āļģāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ BigQuery SQL āļāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨ S3 āđ„āļ”āđ‰ Data sharing āļ‚āļ­āļ‡ Redshift āļĢāļ­āļ‡āļĢāļąāļš cross-account query federation āļ āļēāļĒāđƒāļ™ AWS

āļ—āļĩāļĄ data analytics āđ€āļĨāļ·āļ­āļāļĄāļēāļāļ‚āļķāđ‰āļ™āļ•āļēāļĄāļāļēāļĢāļĨāļ‡āļ—āļļāļ™ cloud āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāļĄāļēāļāļāļ§āđˆāļēāļ„āļ§āļēāļĄāđ€āļŦāļ™āļ·āļ­āļāļ§āđˆāļēāļ—āļēāļ‡āđ€āļ—āļ„āļ™āļīāļ„ āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄāļĒāļąāļ‡āļ„āļ‡āđ€āļžāļīāđˆāļĄāļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ—āļĩāđˆāđāļāđ‰āđ„āļ‚āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āđƒāļ™āļ­āļ”āļĩāļ• āļ—āļģāđƒāļŦāđ‰āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āļ”āđ‰āļēāļ™āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđāļ„āļšāļĨāļ‡

āļŠāļĢāļļāļ›

  • BigQuery āđ€āļŦāļĄāļēāļ°āļāļąāļšāļ—āļĩāļĄāļ—āļĩāđˆāđƒāļŦāđ‰āļ„āļ§āļēāļĄāļŠāļģāļ„āļąāļāļāļąāļšāļ„āļ§āļēāļĄāđ€āļĢāļĩāļĒāļšāļ‡āđˆāļēāļĒāđāļšāļš serverless āđāļĨāļ° workload āļ—āļĩāđˆāđāļ›āļĢāļœāļąāļ™āļ”āđ‰āļ§āļĒ billing pay-per-query
  • Redshift āđ€āļŦāļĄāļēāļ°āļāļąāļšāļ­āļ‡āļ„āđŒāļāļĢāļ—āļĩāđˆāļĄāļĩ query volume āļŠāļđāļ‡āļ—āļĩāđˆāļ„āļēāļ”āļāļēāļĢāļ“āđŒāđ„āļ”āđ‰ āļ‹āļķāđˆāļ‡ provisioned capacity āđƒāļŦāđ‰āļ‚āđ‰āļ­āđ„āļ”āđ‰āđ€āļ›āļĢāļĩāļĒāļšāļ”āđ‰āļēāļ™āļ•āđ‰āļ™āļ—āļļāļ™
  • āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ‚āļ­āļ‡ SQL syntax āļ•āđ‰āļ­āļ‡āđƒāļŦāđ‰āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļ§āļēāļ‡āđāļœāļ™ migration āđāļĨāļ°āļāļēāļĢāļāļķāļāļ­āļšāļĢāļĄāļ—āļĩāļĄ
  • āđāļ™āļ§āļ—āļēāļ‡āļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āđ‚āļ”āļĒāļžāļ·āđ‰āļ™āļāļēāļ™: BigQuery āđ€āļ™āđ‰āļ™ partitioning āđāļĨāļ° clustering, Redshift āļ•āđ‰āļ­āļ‡āļāļēāļĢ distribution keys āđāļĨāļ° sort keys
  • āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļĄāļļāđˆāļ‡āđ€āļ™āđ‰āļ™āļ—āļĩāđˆ tradeoff āļ”āđ‰āļēāļ™āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ āļāļĨāļĒāļļāļ—āļ˜āđŒāļāļēāļĢāđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ•āđ‰āļ™āļ—āļļāļ™ āđāļĨāļ°āđ€āļ—āļ„āļ™āļīāļ„ tuning āđ€āļ‰āļžāļēāļ°āđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ
  • āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļ”āđ‰āļēāļ™āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāđāļĨāļ° compliance āđ€āļ—āļĩāļĒāļšāđ€āļ—āđˆāļēāļāļąāļ™; āļāļēāļĢāļĢāļ§āļĄāļāļąāļšāļĢāļ°āļšāļšāļ™āļīāđ€āļ§āļĻ cloud āļĄāļąāļāđ€āļ›āđ‡āļ™āļ•āļąāļ§āļ‚āļąāļšāđ€āļ„āļĨāļ·āđˆāļ­āļ™āļāļēāļĢāđ€āļĨāļ·āļ­āļāđāļžāļĨāļ•āļŸāļ­āļĢāđŒāļĄ

āđ€āļĢāļīāđˆāļĄāļāļķāļāļ‹āđ‰āļ­āļĄāđ€āļĨāļĒ!

āļ—āļ”āļŠāļ­āļšāļ„āļ§āļēāļĄāļĢāļđāđ‰āļ‚āļ­āļ‡āļ„āļļāļ“āļ”āđ‰āļ§āļĒāļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒāđāļĨāļ°āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„āļ„āļĢāļąāļš

Anthony Fillion-Maillet

āđ€āļ‚āļĩāļĒāļ™āđ‚āļ”āļĒ

Anthony Fillion-Maillet

āļ™āļąāļāļžāļąāļ’āļ™āļēāļŸāļđāļĨāļŠāđāļ•āļ āļœāļđāđ‰āļāđˆāļ­āļ•āļąāđ‰āļ‡ SharpSkill

āđ€āļ›āđ‡āļ™āļ™āļąāļāļžāļąāļ’āļ™āļēāļŸāļđāļĨāļŠāđāļ•āļāļĄāļēāļāļ§āđˆāļē 10 āļ›āļĩ āļ”āļđāđāļĨ SharpSkill āđāļĨāļ°āļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāļ—āļļāļāļŠāļīāđˆāļ‡āļ—āļĩāđˆāđ€āļœāļĒāđāļžāļĢāđˆāļ—āļĩāđˆāļ™āļĩāđˆ

āļ­āļąāļ›āđ€āļ”āļ•āđ€āļĄāļ·āđˆāļ­ 31 āļāļĢāļāļŽāļēāļ„āļĄ 2569

āđāļŠāļĢāđŒ

āļšāļ—āļ„āļ§āļēāļĄāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡

Looker āđāļĨāļ° LookML Business Intelligence Interview 2026

Looker āđāļĨāļ° LookML āļ›āļĩ 2026: āļ„āļđāđˆāļĄāļ·āļ­ Business Intelligence āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļ„āļđāđˆāļĄāļ·āļ­ LookML āļ‰āļšāļąāļšāļŠāļĄāļšāļđāļĢāļ“āđŒāļŠāļģāļŦāļĢāļąāļš data analyst āđƒāļ™āļ›āļĩ 2026 āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰ semantic layer āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļĄāđ€āļ”āļĨāļ‚āđ‰āļ­āļĄāļđāļĨ derived tables āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Looker āļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒ

āđāļ”āļŠāļšāļ­āļĢāđŒāļ”āļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ‚āđ‰āļ­āļĄāļđāļĨāđāļĨāļ° SQL Lab āļ‚āļ­āļ‡ Apache Superset āđƒāļ™āļ›āļĩ 2026

Apache Superset āļ›āļĩ 2026: āđāļ”āļŠāļšāļ­āļĢāđŒāļ” SQL Lab āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļˆāļēāļ°āļĨāļķāļ Apache Superset: āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđāļ”āļŠāļšāļ­āļĢāđŒāļ”āļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ‚āđ‰āļ­āļĄāļđāļĨ SQL Lab āđāļĨāļ° Jinja templating āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļāļąāļš Tableau āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ—āļĩāđˆāļŠāļģāļ„āļąāļ

dbt data modeling testing āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ‡āļēāļ™āļŠāļģāļŦāļĢāļąāļš data analyst

dbt āļŠāļģāļŦāļĢāļąāļš Data Analyst āđƒāļ™āļ›āļĩ 2026: āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļĄāđ€āļ”āļĨ āļāļēāļĢāļ—āļ”āļŠāļ­āļš āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ‡āļēāļ™

āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰ dbt āļŠāļģāļŦāļĢāļąāļš Data Analyst āļ•āļąāđ‰āļ‡āđāļ•āđˆāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āđ‚āļĄāđ€āļ”āļĨ āļāļēāļĢāļ—āļ”āļŠāļ­āļšāļ‚āđ‰āļ­āļĄāļđāļĨ āđ„āļ›āļˆāļ™āļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ‡āļēāļ™āļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒ āļžāļĢāđ‰āļ­āļĄāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ‚āļ„āđ‰āļ”āđāļĨāļ°āđāļ™āļ§āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩ