~/talk

Optimizing Container Registry Storage: Introducing Blob De-Duplication for Accurate Sizing and Cost

links:none on file
slides:none on file

Quay implements blob de-duplication to report true storage per namespace and repository by splitting work into a backfill and running total. Database sizes are large — about 260,000 namespaces, ~700,000 repositories and 100M+ manifest_blob rows — so initial SUM queries take >30s and fail. The final design checks blob membership on each push/delete (adds ~10 ms average), runs a single backfill pod (completed in ~2 days vs estimated 5–7), uses read replicas and a missing-index fix, and operates at scale.

AI-written summary · about

  1. 0:00Quay storage problem
  2. 2:11Initial sizing limits
  3. 5:28Accurate sizing at scale
  4. 7:13Solution development
  5. 10:03Background workers
  6. 11:06Layer deduplication
  7. 13:10New sizing implementation
  8. 15:01On-prem deployment
  9. 16:26Quay.io deployment
  10. 18:12Backfill worker
  11. 18:53API performance fixes
  12. 19:37Results and insights
  13. 21:24Lessons and future
  14. 23:12Q&A on reference counting
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.