Database Group - 14.10 Planning
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
Capacity
No noteworthy PTO is expected that could impact the capacity for %14.10
Boards
Planning
14.10
Top Priorities for Batched Background Migrations - General Availability
Who: @dfrazao-gitlab
, @pbair
, @krasio
Our plan is to make the batched background migrations framework the standard for all data related operations and replace the existing way of performing them. We anticipate that this will be a major step forward for the stability and availability of GitLab instances of any size, while making most background data operations complete considerably faster in most cases.
Priority topics for %14.10:
- Support multiple databases for batched background migrations - any pending issues not completed in %14.9
- Split timed out batched background jobs and retry
- Limit or disable batch size optimization for individual migrations
- Add developer docs for the batched background migration framework
- Batch optimizer should key off affected rows
Throttling mechanism for large data changes
Who: @pbair
, @abrandl
We want to implement a generic throttling mechanism for large data changes that will monitor the health of the Database for various signals (leading indicators) and react to problems by throttling or even pausing the execution of the updates.
Our plan is to do so by extending the batched background migrations auto-tuning layer to monitor for said signals and actively react by further adjusting the batch sizes of scheduled jobs.
Priority topics for %14.10:
Automated database testing using production clones
Who: @stomlinson
@mattkasa
We have completed our coverage of all regular and post migrations and we are now focusing on also testing background migrations.
In %14.9 we have completed our initial support for regular background migrations.
In %14.10 we plan to extend our support to batched background migrations as well and add feedback back to the relevant MRs.
Priority topics for %14.10:
- Instrument batched background migrations
- Display results of instrumenting background migrations
- Estimate length of capped batched background migrations
- Test migrations against background scheduling logic
Database Data Dictionary
Who: @mattkasa
We want to add the ability to label tables by the group that owns them. With more than 400 tables in GitLab's schema, that will provide us with the ability to more efficiently respond to database related incidents or bug / regression reports by finding the group that has the domain knowledge to address the problem in a timely fashion.
This work was deprioritized in previous milestones in favor of the database decomposition and other priorities that the group was working on. We plan to complete our first iteration in %14.10 so that we can then allow each group to label the tables that they own.
Priority topics for %14.10:
- Data Dictionary: Identify objects to be added to the data dictionary and the format of the dictionary content
- Data Dictionary: Write developer docs for data dictionary schema and process