1.1 ETL, ELT, and ETLT Transformation Paradigms

Key Takeaways

  • Traditional ETL transforms data on dedicated middle-tier compute clusters before loading, creating scalability bottlenecks and discarding raw historical fidelity.

  • Cloud-native ELT loads raw data directly into BigQuery, leveraging decoupled Colossus storage and Dremel compute to perform scalable, in-warehouse SQL transformations with Dataform.

  • The hybrid ETLT model sanitizes or tokenizes sensitive PII in transit using Cloud Dataflow or Cloud DLP before landing, reserving heavy dimensional modeling for in-warehouse SQL.

  • Schema-on-write strictly validates incoming data at the ingestion gate, while schema-on-read utilizes semi-structured formats like BigQuery JSON to interpret attributes dynamically at query time.

Last updated: October 2026

ETL, ELT, and ETLT Transformation Paradigms

Core Focus: Modern cloud analytics architectures have fundamentally shifted from traditional compute-bound ETL to scalable, in-warehouse ELT and security-conscious ETLT hybrid designs. Understanding how Google Cloud separates storage from compute to empower BigQuery transformations is central to the Google Cloud Associate Data Practitioner examination.

Data engineering architectures are defined by where, when, and how data transformation occurs. In classical on-premises data management, data pipelines followed a rigid sequential path: data was extracted from operational sources, transformed inside an intermediary compute cluster, and finally loaded into a target data warehouse. Today, cloud scalability and distributed columnar storage have inverted this paradigm, giving rise to ELT and hybrid ETLT models.


Architectural Evolution: From ETL to ELT

To understand modern Google Cloud data architectures, we must examine the architectural constraints that governed traditional data warehousing.

Traditional ETL (Extract, Transform, Load)

In legacy on-premises environments (such as appliances from Teradata, Oracle, or IBM Netezza), storage and compute were tightly coupled and extraordinarily expensive. Running intensive transformations—such as multi-table joins, regex parsing, aggregations, and windowing—directly on the warehouse CPU would starve transactional or analytical queries of critical computing cycles.

Consequently, data architects introduced dedicated ETL processing servers (such as Informatica PowerCenter, IBM InfoSphere DataStage, or custom script servers). The workflow proceeded as follows:

  1. Extract: Data was pulled from operational transactional databases (OLTP), flat files, or legacy mainframes.
  2. Transform: The dedicated middle-tier ETL server applied business rules, joined disparate datasets, performed type conversions, aggregated metrics, and normalized the schema.
  3. Load: Only the final, fully structured, aggregated, and curated data was written into physical data warehouse tables.
[Operational Sources] ---> (Extract) ---> [ETL Compute Engine] ---> (Transform) ---> (Load) ---> [Data Warehouse]

Drawbacks of Traditional ETL:

  • Compute Bottlenecks: The middle-tier ETL cluster created an artificial bottleneck. As source data volume grew from gigabytes to terabytes, ETL clusters required costly vertical or horizontal scaling.
  • Loss of Raw Fidelity: Because only pre-aggregated, transformed data entered the warehouse, exploratory data analysis or retrospective model changes required re-extracting history from source systems—if raw backups even existed.
  • Pipeline Rigidity: Any change in reporting requirements necessitated rewriting and re-deploying the upstream ETL code.

Cloud-Native ELT (Extract, Load, Transform)

Cloud data warehouses—led by Google BigQuery—eliminated the physical hardware constraints of legacy appliances. By decoupling storage from compute, cloud platforms made storage virtually limitless and inexpensive, while compute became dynamically scalable on demand.

Under the ELT model, the order of operations changes fundamentally:

  1. Extract: Data is extracted from source applications, APIs, event streams, or databases.
  2. Load: Raw data is immediately loaded into Cloud Storage or directly into BigQuery staging tables without upfront schema alteration or heavy pre-processing.
  3. Transform: Business analysts and data engineers use declarative BigQuery SQL or Dataform to transform, join, deduplicate, and model the data directly inside the warehouse engine.
[Operational Sources] ---> (Extract) ---> (Load) ---> [BigQuery Raw / Staging] ---> (Transform: SQL / Dataform) ---> [Curated Data Marts]

Advantages of Cloud-Native ELT:

  • Maximized Ingestion Throughput: Ingestion pipelines are lightweight and fast because they only focus on moving bytes, not computing transformations.
  • Data Lakehouse Preservation: Raw data is permanently preserved in BigQuery or Cloud Storage, allowing future models, machine learning algorithms, and audits to re-process historical records without re-querying operational source systems.
  • Declarative Development: Transformations are written in standard ANSI SQL, broadening access beyond specialized Java/Scala pipeline developers to SQL analysts and analytics engineers.

Separation of Storage and Compute in Google Cloud

The technological foundation that makes ELT viable in Google Cloud is the architectural separation of storage and compute.

In Google BigQuery:

  • Storage Layer (Colossus): BigQuery stores data in Colossus, Google's globally distributed, highly durable cluster file system. Data is stored in a proprietary, highly optimized columnar format called Capacitor. Storage is billed independently at low commodity rates per gigabyte per month (with automatic transitions to long-term storage pricing for partitions untouched for 90 consecutive days).
  • Compute Engine (Dremel & Borg): Query execution is powered by Dremel, a massively parallel execution engine orchestrated across thousands of dynamically assigned worker cores (slots) managed by Borg (Google's large-scale cluster management system).
  • Jupiter Network: BigQuery connects compute slots to Colossus storage nodes via Google's multi-terabit-per-second Jupiter bisection network. This petabit-scale backplane allows hundreds of compute workers to stream raw columnar blocks from storage with virtually zero disk I/O bottleneck.

Because storage does not require dedicated running compute instances, organizations can land petabytes of raw un-aggregated data into BigQuery without paying for idle CPUs. When a transformation query runs, BigQuery elastically allocates hundreds or thousands of slots to execute the transformation in parallel in seconds, releasing those compute resources immediately upon query completion.


Schema-on-Write vs. Schema-on-Read

A critical conceptual distinction in modern ingestion pipelines is when schema validation is enforced.

DimensionSchema-on-WriteSchema-on-Read
Enforcement PointAt the ingestion boundary, before data is persisted.At query or transformation execution time.
Typical FormatsStrongly typed relational tables, Avro with strict schemas.JSON, CSV, semi-structured logs, Parquet.
Pipeline LatencyHigher upfront ingestion latency due to validation overhead.Minimal ingestion latency; raw bytes land immediately.
Error HandlingIncompatible records are rejected or dropped at the gate.Incompatible records are ingested; malformed values handled during query execution.
FlexibilityLow; schema changes require database migrations and pipeline updates.High; fields can be added dynamically to source payloads without breaking ingestion.
Google Cloud FitBigQuery native tables with strict column definitions, Cloud Spanner, Cloud SQL.BigQuery JSON data type, Cloud Storage raw landing zones, BigQuery external tables.

Schema-on-Read in BigQuery

BigQuery offers native support for schema-on-read paradigms through its native JSON data type. Rather than flattening deeply nested, rapidly evolving JSON payloads into static relational columns during ingestion, pipelines can load the raw JSON string directly into a JSON column. Downstream transformations can then query nested attributes dynamically using standard SQL dot-notation and JSON extraction functions:

-- Querying semi-structured JSON on-read without upfront schema definition
SELECT
  event_id,
  customer_id,
  JSON_VALUE(raw_payload.event_type) AS event_name,
  SAFE_CAST(JSON_VALUE(raw_payload.transaction.amount) AS NUMERIC) AS transaction_amount
FROM
  `my_project.raw_lake.clickstream_events`
WHERE
  JSON_VALUE(raw_payload.status) = 'SUCCESS';

In-Warehouse Transformations vs. External Pipeline Compute Engines

While ELT pushes transformations into BigQuery, enterprise data architectures frequently employ a combination of in-warehouse and external compute engines. Selecting the correct engine depends on the processing paradigm, data structure, and technical requirements.

1. In-Warehouse: BigQuery SQL and Dataform

  • BigQuery SQL: Ideal for set-based tabular transformations, dimensional modeling (star/snowflake schemas), window functions, time-series aggregations, and deduplication.
  • Dataform: A serverless orchestration and modeling service integrated into BigQuery. Dataform enables data teams to build version-controlled (Git-integrated), testable, and documented SQL transformation workflows (using SQLX). It automatically constructs Directed Acyclic Graphs (DAGs) of table dependencies, manages execution order, and executes data quality assertions.

2. Stream & Complex Batch Processing: Cloud Dataflow

  • Architecture: A fully managed, serverless runner for the open-source Apache Beam SDK.
  • Capabilities: Supports both batch and low-latency streaming processing with exactly-once processing guarantees. Dataflow excels at complex event-time windowing, sessionization, multi-stream joins, and custom procedural logic written in Java, Python, or Go.
  • When to Use: When data arrives continuously from streaming sources (like Cloud Pub/Sub), requires sliding or session window calculations, or requires complex procedural parsing before landing.

3. Managed Open-Source Big Data: Cloud Dataproc

  • Architecture: Managed clusters for running open-source processing frameworks such as Apache Spark, Apache Hadoop, Hive, and Presto.
  • Capabilities: Fast cluster initialization (typically 90 seconds), ephemeral cluster lifecycles, and Dataproc Serverless for Spark.
  • When to Use: When migrating existing legacy Spark or PySpark codebases to Google Cloud without re-architecting transformations into SQL or Beam, or when executing distributed machine learning feature pipelines using MLlib.

The Hybrid ETLT Paradigm

While ELT is the standard for general analytics, pure ELT introduces compliance, regulatory, and security risks when dealing with sensitive information. This necessity created the ETLT (Extract, Transform, Load, Transform) hybrid paradigm.

The Compliance Dilemma

Privacy and security frameworks such as the EU General Data Protection Regulation (GDPR), the Health Insurance Portability and Accountability Act (HIPAA), and the Payment Card Industry Data Security Standard (PCI DSS) push organizations to minimize and protect sensitive data. Many organizations turn that into an internal rule: raw Personally Identifiable Information (PII) or cardholder data (CHD) must not land in plain text in broadly accessible analytical storage. The frameworks themselves do not all forbid storage. HIPAA data, for example, can be stored on Google Cloud under a Business Associate Agreement with appropriate controls. The exam scenario tells you whether such a no-raw-landing rule applies.

If an organization with that rule uses pure ELT, raw Social Security numbers, card numbers, or diagnoses land in BigQuery tables or Cloud Storage buckets before any masking SQL can run. The rule is already broken, and the raw values also persist in time travel and backups.

How ETLT Resolves the Problem

ETLT introduces a targeted, lightweight transformation step in transit before loading, while reserving heavy analytical transformations for the warehouse:

  1. Extract: Data is pulled from source systems or event buses.
  2. Transform (Lightweight In-Transit Pre-Processing):
    • Cloud Dataflow, Cloud Functions, or Cloud Run intercepts the raw stream.
    • PII fields (names, email addresses, national IDs) are masked, tokenized, hashed (SHA-256 with salt), or encrypted using Cloud KMS (Key Management Service) or the Sensitive Data Protection (formerly Cloud DLP) API.
    • Malformed records are filtered or routed to a dead-letter sink.
  3. Load: The sanitized, tokenized data is safely written into BigQuery or Cloud Storage.
  4. Transform (Heavy In-Warehouse Modeling):
    • BigQuery SQL and Dataform execute complex multi-table joins, historical deduplication, dimensional rollups, and aggregation queries across the securely ingested dataset.
[Source] ---> (Extract) ---> [Dataflow / DLP: Mask PII] ---> (Load) ---> [BigQuery Staging] ---> (Dataform: Star Schema SQL) ---> [Data Mart]

Real-World Decision Matrix: Choosing the Transformation Paradigm

The following matrix synthesizes the architectural criteria used to evaluate transformation approaches on Google Cloud:

Evaluation CriteriaTraditional ETLCloud-Native ELTHybrid ETLT
Primary Compute EngineDedicated ETL servers (Dataflow / Dataproc / Informatica)BigQuery SQL / DataformDataflow / Cloud DLP (in transit) + BigQuery SQL (in warehouse)
Optimal Data VolumeLow to Moderate (< 1 TB)Massive (Terabytes to Petabytes)Massive (Terabytes to Petabytes)
Ingestion LatencyHigh (delayed by pre-load processing)Low (direct streaming or batch append)Moderate (micro-batch or stream masking)
Compliance & PII SafetyHigh (data can be sanitized before warehouse load)Low (raw PII lands directly in warehouse storage)Highest (sensitive tokens replaced before persistence)
Schema GovernanceSchema-on-write (rigid, strict validation)Schema-on-read / Dynamic schema evolutionDual: Strict validation on sensitive fields; flexible on payload body
Skillset RequiredSpecialized pipeline engineers (Java, Scala, Python)Analytics engineers, SQL developersData engineers (Beam/APIs) + SQL analysts
Ideal Use CasesLegacy migrations with fixed schema formats; low-capacity targets.Enterprise reporting, data lakehouse modeling, marketing attribution.Healthcare analytics, financial transaction monitoring, GDPR-regulated user telemetry.

Common Exam Traps and Scenarios

Exam Tip: Watch out for scenario questions that tempt you to over-engineer pipelines. If the question describes batch transformation of structured tabular data already landing in Google Cloud without strict in-transit PII masking requirements, BigQuery SQL with Dataform is almost always the recommended, cost-effective Google-native solution—not a self-managed Spark cluster or complex Beam pipeline.

Trap 1: Conflating Dataflow with In-Warehouse Transformation

  • The Trap: Recommending Cloud Dataflow to join two existing BigQuery tables and write the result back to BigQuery.
  • The Reality: Dataflow is an external compute engine. Pulling data out of BigQuery into Dataflow workers to perform joins and write it back adds data-movement (read) costs, worker VM compute costs, and pipeline maintenance. BigQuery SQL performs distributed in-memory joins natively via Dremel slots far faster and at lower cost.

Trap 2: Ignoring Regulatory Landing Constraints

  • The Trap: Choosing pure ELT for medical or credit card processing to "keep ingestion simple," planning to run a scheduled BigQuery query that masks sensitive columns every night.
  • The Reality: When the requirement says raw sensitive values must never be persisted, a nightly masking job is too late: the raw values already sit in tables, time travel, and backups. An ETLT pattern that de-identifies values in flight with Sensitive Data Protection (formerly Cloud DLP) or Dataflow is the design that meets that requirement.

Trap 3: Assuming Schema-on-Write Is Obsolete

  • The Trap: Assuming schema-on-read is universally superior and that strict schemas should never be used.
  • The Reality: Core financial ledgers, billing transactions, and compliance records require strict schema-on-write validation. A corrupted currency field or missing account ID must fail at the gate rather than propagating downstream into reporting dashboards.
Test Your Knowledge

Why does Google BigQuery favor an ELT (Extract, Load, Transform) data processing paradigm over traditional ETL for large-scale enterprise analytics?

A

BigQuery lacks integration with external compute engines like Cloud Dataflow, necessitating that all pipeline tasks occur via SQL.

B

BigQuery compute instances must remain continuously provisioned, making it cheaper to run long-running batch transformations inside the warehouse.

C

BigQuery decouples storage from compute, allowing raw data to land cost-effectively while leveraging massively parallel SQL slots to transform data on demand.

D

BigQuery enforces strict schema-on-write validation that prevents raw or semi-structured data from being ingested without pre-transformation.

Test Your Knowledge

A multinational retail bank must ingest transaction records containing unencrypted Primary Account Numbers (PANs). Industry compliance mandates that plain-text card numbers must never be stored in persistent cloud storage or data warehouse tables. Which architecture satisfies this requirement while preserving scalable analytics modeling?

A

A traditional ETL pipeline that processes all transformations on an on-premises Hadoop cluster and uploads only finalized PDF reports to Google Cloud.

B

A pure ELT pipeline that loads raw transaction records into a private BigQuery staging table, followed by a nightly SQL view that masks the card numbers.

C

A schema-on-read architecture that streams raw records into Cloud Storage as JSON files and extracts masked numbers during downstream ad-hoc queries.

D

A hybrid ETLT pipeline using Cloud Dataflow to tokenize the card numbers in transit before writing to BigQuery, followed by Dataform for data mart transformations.

Test Your Knowledge

An analytics team needs to build a scheduled data transformation pipeline across twenty interconnected tables in BigQuery. The solution must support SQL-based transformations, dependency management (DAGs), Git version control, and data quality testing assertions without managing infrastructure. Which tool should the team select?

A

Dataform, using SQLX definitions that declare dependencies and assertions and run inside BigQuery.

B

Cloud Composer deploying Airflow operators that execute local Python data transformations on worker VMs.

C

Cloud Dataflow running an Apache Beam Java streaming pipeline with custom windowing.

D

Cloud Dataproc running an ephemeral Apache Spark cluster configured with PySpark scripts.

Sections you finish are checked off in the contents.