A scheduled job scans the same data again
A daily process reads an entire history table for a limited period. Job statistics and SQL filters reveal whether relevant partitions are actually pruned.
Recurring jobs read too much data. Fewer bytes scanned are not useful if dashboards become incomplete or response times deteriorate.
Select a few costly jobs with the Data team, test relevant SQL changes and compare results, duration and cost before any production rollout.
A daily process reads an entire history table for a limited period. Job statistics and SQL filters reveal whether relevant partitions are actually pruned.
Joins and repeated scans increase processed bytes. Compare execution plans with expected business results: removing columns or moving filters must not alter indicators.
Partitioning and clustering can help selected access patterns but also affect storage and upstream jobs. Evaluate their value and compatibility on the chosen tables first.
I agree the jobs and reference outputs with Data owners; I record bytes processed, duration, frequency and billing model, including workload variations that would undermine comparison.
I inspect partition filters, selected columns and joins; I test useful rewrites and, with owner approval, partitioning or clustering on the selected scope.
I compare functional results, bytes, duration and cost on comparable runs. I reject changes that alter results and prepare promotion only if the owners approve it.
Selected jobs and necessary access. Agreed jobs, projects, tables and periods, with SQL, run and cost history, reference outputs and a functional owner. Read access suffices for diagnosis; tests require an authorized environment and permissions.
Boundaries and production. Neither a GCP-wide FinOps audit nor a pricing review. No production schema, table or job changes without agreement, compatibility tests and a rollback plan.
A question about your environment? Tell me about it: I'll define a useful scope with you before starting.
Contact me