GitLab database decomposition: Final migration and results
Aug 4, 2022Dylan Griffith

Summary
This post details the final migration process for decomposing the GitLab backend database, specifically focusing on the separation of CI-related data. It contrasts a planned zero-downtime approach with the chosen two-hour downtime strategy, highlighting the advantages of a simpler rollback mechanism and the necessity of extensive rehearsals. The post presents the positive results of the migration, including decreased primary database CPU utilization, significant storage savings, reduced dead tuples and vacuuming saturation, and a substantial reduction in average query duration for Sidekiq PGBouncer query pools.
More from the Database Migration Debugging and Cross-Database Compatibility trail
- Seamlessly migrate from Jira to GitLab with Jira2Lab at scale
- We are upgrading the operating system on our Postgres database clusters
- Decomposing the GitLab backend database, Part 1: Designing and planning
- Decomposing the GitLab backend database, Part 3: Challenges and surprises
- Upgrade your external PostgreSQL 12 & 13 servers now