Large Tables Limitations - Team Awareness
Context
We have introduced new limitations to prevent adding new indexes or columns on large tables to improve manageability for both GitLab and our customers. These changes will affect several tables across our database infrastructure.
Impact
Starting from our next release, teams will need to follow new guidelines when working with the tables listed below. The main limitations are:
- Adding an index: maximum size 50 GB
- Adding a column with foreign key: maximum size 50 GB
- Adding a new column: maximum size 100 GB
Affected Tables
The following tables are subject to these limitations:
What You Need to Do
- Review if your team works with any of these tables
- Update your development practices to consider these limitations
- For new features involving these tables, consider the following alternatives:
- Create a separate table for new columns
- Use Elasticsearch for additional filtering/search functionality
- Simplify filtering/sorting options
Exceptions
Exceptions to these limitations are only granted for:
- Migrating table columns from
int4toint8 - Adding sharding keys to support cells
- Modifying tables for partitioning or data retention
- Replacing existing indexes to improve query performance
Additional Resources
- Large Tables Limitations Documentation
- Database Size Limits
- Reference Issue: #477398 (closed)
Next Steps
- Please review this information with your team
- Raise any concerns or questions in this issue
- Update your team's documentation and development guidelines accordingly
Edited by Ryan Wells