YelpNick Del Nano, Data StreamingProblem & solution
How Partition Access Visualizations Reduced our Data Lake S3 Cost by 33%
Summary
Data teams at Yelp struggled to identify table consumers and track how datasets were accessed across their petabyte-scale data lake. To solve this, the team built a usage attribution system using Amazon S3 server access logs to visualize time-based partition keys against access timestamps and IAM roles. These visualizations revealed distinctive patterns for daily batch jobs, backfills, and ad hoc queries, guiding migrations of thousands of tables to Apache Iceberg format. Furthermore, Yelp implemented a Default Access Retention strategy gated by IAM bucket policies to prevent accidental queries from resetting S3 Intelligent Tiering transitions. Combining these granular usage insights with targeted S3 storage classes reduced Yelp's S3 storage costs by 33 percent.
Context
In large analytics environments, data teams often lack data-driven usage attribution to identify who their stakeholders are and how data is being used. Without clear access patterns, teams rely on outdated documentation and hesitate to commit to deletion-based retention or cold storage policies that carry minimum storage durations and retrieval fees.
Approach / What changed
Yelp ingested Amazon S3 server access logs into their data lake and used batch SQL transformations to aggregate object GET operations by table, partition value, timestamp, and requester IAM role. They mapped access patterns to distinguish batch jobs, backfills, and ad hoc queries, assigned S3 Intelligent Tiering to datasets with unpredictable patterns, and implemented a Default Access Retention policy gating older partitions behind restrictive bucket IAM policies.
Takeaways
Visualizing accessed partition dates against event timestamps reveals clear signatures: diagonal lines indicate daily batch jobs, vertical lines show backfills, and scatter points mark ad hoc queries.
Under S3 Intelligent Tiering, objects not accessed for 30 days decrease in storage cost by 40%, and objects not accessed for 90 days decrease in storage cost by 81%.
Default Access Retention uses restrictive IAM bucket policies on older partitions so accidental queries cannot reset S3 Intelligent Tiering tiers or trigger large retrieval fees without an approved Terraform PR.
Source and freshness
- Source
- engineeringblog.yelp.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.