01. The Problem: Slowly Changing Reference Data Challenges
Slowly changing reference data is one of the most persistent pain points in data engineering. These are static or slowly evolving datasets—like customer master data, product catalogs, or regulatory codes—that must be kept in sync across multiple systems. The challenge isn't just the data itself but how to propagate changes efficiently and accurately without breaking downstream pipelines.
Consider a retail company with a product catalog that updates weekly. A single change—like a price adjustment—must ripple through recommendation engines, inventory systems, and reporting dashboards. If the change isn't propagated correctly, it can lead to inconsistent pricing, failed orders, or compliance violations. The problem compounds when reference data is distributed across multiple databases, data lakes, or even third-party systems.
Traditional ETL frameworks handle this by batching updates and applying them in sequence. Tools like Apache Airflow or AWS Glue can orchestrate these workflows, but they require careful scheduling and error handling. For example, a misconfigured job might overwrite valid data with stale references, or a failed run could leave systems in an inconsistent state. The latency between change and propagation can also be unpredictable, especially in large-scale systems.
Federated query engines like Presto or Trino offer an alternative by allowing direct queries across heterogeneous data sources. This reduces the need for ETL by enabling real-time or near-real-time joins. However, performance degrades significantly when querying slowly changing reference data. For instance, a join between a 10GB fact table and a 1MB reference table might take minutes in a federated environment, whereas a pre-aggregated ETL output could deliver results in seconds.
The tradeoff isn't just about speed. Custom ETL frameworks require ongoing maintenance—schema changes, dependency updates, and debugging—while federated queries introduce operational complexity. Network latency, query planning overhead, and permission management can all become bottlenecks. The decision to use one approach over the other depends on the scale of changes, the criticality of consistency, and the tolerance for latency.
Ultimately, the problem isn't just technical. It's about balancing accuracy, performance, and operational overhead. The right solution often lies in a hybrid approach—using ETL for high-frequency updates and federated queries for ad-hoc analysis—rather than a one-size-fits-all strategy.
02. Key Tradeoffs: Custom ETL vs. Federated Query Engines
When evaluating custom ETL frameworks versus federated query engines for slowly changing reference data, the decision hinges on operational constraints, scalability needs, and team expertise. Custom ETL frameworks offer granular control but require significant engineering investment. For example, building a custom pipeline to handle reference data updates might take 6-12 months of development, including schema validation, incremental processing, and error handling. This approach is viable when data volumes exceed 100TB/month or when compliance mandates strict data governance. However, maintaining such a system costs $200K-$500K annually in infrastructure and engineering salaries.
Federated query engines like AWS Glue or Snowflake eliminate the need for custom ETL by enabling direct queries across heterogeneous data sources. This reduces initial development time to 2-4 weeks, as teams avoid writing and maintaining pipeline code. The cost savings are substantial: AWS Glue charges $0.44 per DPU-hour, while custom ETL might require dedicated Kubernetes clusters costing $10K/month. However, federated queries introduce latency—expect 10-30 second response times for complex joins, which may not meet real-time requirements.
Custom ETL frameworks excel in performance-critical scenarios. A well-tuned pipeline can process 1M records/second with 99.9% uptime, whereas federated queries may struggle with similar volumes due to network overhead. For reference data with 100+ sources, custom ETL can consolidate updates in under 5 minutes, while federated queries may take 15-20 minutes. The tradeoff is complexity: custom solutions require DevOps teams to manage infrastructure, while federated engines rely on vendor SLAs.
Security considerations differ significantly. Custom ETL allows for end-to-end encryption and on-premises processing, which is critical for regulated industries. Federated engines like Snowflake offer column-level encryption but may expose metadata to cloud providers. For compliance with GDPR or HIPAA, custom ETL provides better audit trails, whereas federated engines require additional tooling like Datadog for monitoring.
Ultimately, the choice depends on the data volume, latency tolerance, and compliance requirements. Custom ETL is ideal for high-throughput, low-latency environments with strict governance. Federated query engines accelerate time-to-value for smaller datasets or teams without dedicated engineering resources. The decision should balance upfront costs, long-term maintenance, and operational flexibility.

03. Worked Example: Cost and Time Savings with Federated Queries
Consider a team of 10 data engineers maintaining a custom ETL pipeline for slowly changing reference data across three AWS Redshift clusters. The pipeline runs daily, processes 100GB of data, and requires 24 hours of engineering time per quarter to maintain. The current solution uses AWS Glue for orchestration and custom Python scripts for transformations.
I evaluated this because the team reported spending 30% of their time debugging connection issues between clusters and 20% on schema mismatches. The custom ETL approach also required maintaining separate infrastructure for each data source, increasing operational overhead.
Here’s the cost breakdown for one quarter:
- AWS Glue: $1,200/month × 3 months = $3,600
- EC2 instances for custom ETL: $0.50/hour × 24 hours × 10 engineers = $1,200
- Redshift compute costs: $1,500/month × 3 months = $4,500
- Engineering time: $150/hour × 24 hours = $3,600
Total quarterly cost: $3,600 (Glue) + $1,200 (EC2) + $4,500 (Redshift) + $3,600 (engineering) = $12,900.
Now compare this to a federated query solution using AWS Athena and AWS Lake Formation. The team would:
- Consolidate all reference data into a single S3 bucket with a unified schema.
- Use Athena’s federated query capabilities to query across Redshift clusters without ETL.
- Replace custom scripts with pre-built Athena functions for slowly changing dimensions.
The cost breakdown for the same quarter:
- AWS Athena: $5.00 per TB scanned × 0.1 TB = $50
- S3 storage: $0.023/GB × 100GB = $2.30
- Lake Formation governance: $1,000/month × 3 months = $3,000
- Engineering time: $150/hour × 4 hours (for setup) = $600
Total quarterly cost: $50 (Athena) + $2.30 (S3) + $3,000 (Lake Formation) + $600 (engineering) = $3,652.
The federated query approach reduces costs by 72% ($9,248) and eliminates 20 hours of quarterly engineering time. The savings come from:
- No need for EC2 instances or custom ETL infrastructure.
- Reduced Redshift compute costs by avoiding daily ETL runs.
- Lower operational overhead due to unified governance.
However, this solution requires upfront schema standardization and may not work for real-time use cases. For those scenarios, a hybrid approach—using federated queries for batch processing and a lightweight ETL layer for real-time updates—would be more appropriate.

04. Decision Framework: When to Choose Each Approach
Selecting between a custom ETL framework and a federated query engine depends on your organization's specific constraints. The decision framework below outlines key criteria to evaluate, with real-world tools mapped to each option. I recommend using this table as a starting point, then validating assumptions with your data team.
| Criteria | Option A: Custom ETL Framework | Option B: Federated Query Engine | Option C: Hybrid Approach |
|---|---|---|---|
| Data Volume | Best for large-scale, complex transformations. Requires significant engineering resources to scale. | Excels with high-volume, low-latency queries. Performance degrades with complex joins or aggregations. | Use ETL for transformations, federated queries for serving. Balances flexibility and performance. |
| Team Expertise | Requires deep engineering skills in data pipelines, orchestration (Airflow, Kubernetes), and monitoring (Datadog). | Leverages SQL expertise. Teams familiar with tools like AWS Athena or Snowflake can adopt quickly. | Combines engineering and SQL skills. Requires coordination between pipeline and query teams. |
| Business Needs | Ideal for highly customized workflows, real-time processing, or proprietary algorithms. | Best for ad-hoc analysis, cost-sensitive environments, or when source systems support federated queries. | Best when you need both flexibility and operational efficiency. For example, ETL for nightly aggregations, federated queries for daily reports. |
| Cost | High upfront costs for development and maintenance. Scaling infrastructure (Kubernetes, cloud compute) adds overhead. | Lower operational costs for simple queries. Complex workloads may require expensive compute (e.g., AWS Redshift Spectrum). | Balanced cost. ETL costs are amortized over time; federated queries reduce query costs for end users. |
| Time to Value | Longer initial development cycle. Benefits realized only after full deployment. | Faster to implement for teams with SQL expertise. Results available immediately. | Hybrid approach extends time to value. Requires phased rollout. |
| Recommendation | Choose if you have the engineering bandwidth to build and maintain a custom solution, or need proprietary logic. | Choose if you prioritize speed, cost efficiency, and simplicity. Works best with cloud-native data lakes. | Choose when you need both flexibility and operational efficiency. Start with federated queries for reporting, build ETL for transformations. |
This framework is not prescriptive. For example, a team with strong engineering resources might prefer a custom ETL framework even for moderate data volumes. The key is aligning the approach with your organization's capabilities and goals. Always prototype before committing to a long-term solution.

05. Action Step: Implementing a Federated Query Strategy
Assess the current reference‑data ecosystem
Begin by inventorying every store that holds slowly changing reference data—RDS instances, DynamoDB tables, S3 CSV buckets, and external SaaS APIs. Capture schema versions, update cadence, and access control mechanisms in a lightweight spreadsheet. This baseline lets you see where latency originates and which sources are already compatible with ANSI‑SQL connectors.
Choose a federated query engine that matches your stack
I evaluated Amazon Athena, Azure Synapse Serverless, and Trino on Kubernetes because each supports the data‑source plugins you already use. Athena leverages the AWS Glue Data Catalog, making IAM policies reusable; Synapse integrates natively with Azure Purview for lineage; Trino gives you full control of connector versions and can run on existing EKS clusters. Select the engine that minimizes additional infrastructure while exposing the required connectors.
Prototype a cross‑source view
Create a single logical view that joins the “product_codes” table in Redshift, the “country_master” CSV in S3, and the “partner_status” endpoint exposed via a REST connector. Use the engine’s DDL to define external tables, then write a simple SELECT that filters by effective_date and returns a unified result set. Validate row counts against each source to confirm that the federated layer does not drop or duplicate records.
Instrument latency and cost metrics
Deploy Datadog custom metrics that capture query execution time, data scanned, and connector error rates. Tag each metric with the source system so you can compare the federated query latency to the current ETL batch window. Record the per‑TB scan cost from the engine’s pricing page and compare it to your existing nightly job compute spend.
Define a success threshold
Set concrete targets: 1) end‑to‑end visibility of a change within 15 minutes of source commit, 2) query cost under $0.02 per GB scanned, and 3) < 0.5 % error rate per week. Document these thresholds in your team’s OKR tracker so progress is measurable and reviewable.
Roll out with a controlled audience
Expose the federated view to a single downstream service—such as the pricing microservice that relies on country‑level tax codes. Collect feedback on response time, schema evolution handling, and operational alerts. If the pilot meets the success thresholds, replicate the view for the remaining consumers and retire the corresponding ETL pipeline.
Concrete next step
Pull the last 90 days of change‑log entries from each reference‑data source, load them into a temporary S3 prefix, and run a federated SELECT that computes the average lag between change_timestamp and the time the row becomes visible in the unified view. Record the result in a shared Confluence page and schedule a 30‑minute review with the data‑engineering lead, the compliance officer, and the product owner to decide whether to expand the rollout.
Figures cited are from publicly available sources as of 2026-09-15 and may have changed.