Full load, then changes
We changed the DMS target to Redshift and configured an initial full load followed by ongoing change data capture (CDC). Later updates could use database changes instead of repeatedly copying the full dataset.
We replaced a pipeline that repeatedly processed the full dataset with DMS change data capture and SQL transformations in Redshift. Airflow coordinated the workflow, and Terraform managed the infrastructure.
RDS → DMS → S3 CSV files
EventBridge → Lambda & Glue / Spark
S3 Bronze → Silver → Gold
Split by company_id → Redshift
Each run took around two hours.
RDS → DMS → Redshift
Amazon MWAA / Airflow → SQL transformations
Business-ready datasets per company
S3 exports where needed
Main workflow scheduled every hour.
Preserve business rules and company-specific datasets while reducing processing stages and repeated transfers.
DMS initial full load followed by ongoing change data capture
Airflow tasks coordinate SQL transformations inside Redshift
Terraform defines and manages the AWS resources
The client’s pipeline was slow and expensive. They needed a lower-cost solution without increasing processing time or disrupting the data already delivered to Redshift.
The original pipeline used AWS DMS to copy data from an RDS database into CSV files in S3. EventBridge triggered Lambda functions and AWS Glue jobs to process the data with Spark.
Data moved through Bronze, Silver, and Gold layers in separate S3 buckets. Further jobs split the results by company_id and loaded them into Redshift. Each run processed the full dataset and took around two hours.
The challenge was to preserve the existing business rules and company-specific datasets, keep delivery reliable, and manage the infrastructure with Terraform.
We changed the DMS target to Redshift and configured an initial full load followed by ongoing change data capture (CDC). Later updates could use database changes instead of repeatedly copying the full dataset.
We set up Amazon MWAA, AWS’s managed Apache Airflow service, and moved orchestration into Airflow tasks. The main workflow runs every hour to apply the business rules and prepare separate datasets for each company.
We rewrote the Glue and Spark transformations as SQL that runs inside Redshift. The new pipeline produces the business-ready datasets previously built through the Gold layer, with the main transformations running in the warehouse.
The workflow continues to apply the existing business rules and prepare separate datasets for each company. Moving the transformations into Redshift changed where processing happens while retaining the required business-ready outputs.
We used Terraform to define and manage the AWS infrastructure, supporting infrastructure automation alongside the pipeline changes.
S3 exports remain available where needed, while the main transformations run inside Redshift rather than moving data repeatedly between S3 layers.
The new pipeline produces the datasets previously built through the Gold layer, with the main transformations running inside Redshift.
The new architecture reduced the need for Glue and Spark jobs and repeated transfers between S3 layers, helping lower processing costs and simplify maintenance.
Ongoing CDC supports updates from database changes, and Airflow coordinates the main transformations on an hourly schedule.