~/talk

30 Indexes on a 6TB Postgres Table: Challenges and Solutions

TalkinFrenchat Devoxx France 2023 · 2023-04-12..04-14· [databases]
links:none on file
links:none on file
slides:none on file

Doctolib describes managing a 30TB Postgres cluster with a single 6TB table that had 30 indexes: engineers identified and removed duplicate and unused indexes, added tests to block reintroducing them, and benchmarked index candidates using pgbench plus an explain-comparison tool that runs transactional DDL to quickly try index sets. The work reclaimed about 3TB of index bloat, improved write performance by ~15% and some query plans by ~70%, and delivered automated alerts and open-source tooling to prevent regressions.

AI-written summary · about

  1. 0:00Introduction
  2. 1:23Index write amplification
  3. 3:12Table and index analysis
  4. 4:38PG bench performance
  5. 6:04Drop unused indexes
  6. 7:32Unique and duplicate indexes
  7. 8:35Never-used indexes
  8. 10:03Obsolete indexes and alerts
  9. 14:46Query and index fixes
  10. 16:53Used indexes and sharing
  11. 19:01Partial indexes optimization
  12. 22:15Shrink index size
  13. 24:04Production migration
  14. 25:51Load tests and regressions
  15. 28:44Automation and tooling
  16. 33:21Benchmark tool demo
  17. 38:41Results and benefits
  18. 40:30Automations and improvements
  19. 41:56Q&A
~/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.