Database Group - 15.9 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
In %15.9 the Database group will be at 70% capacity while two out of our seven team members proceed with their onboarding and ramp up. We expect to be at fully capacity in ~2 more milestones.
Boards
Planning
We will keep our focus on the initiatives that affect the most the availability and reliability of GitLab.com and self managed instances.
15.9
Top Priorities for Batched Background Migrations
Who: @krasio
@praba.m7n
@dfrazao-gitlab
What: Continue our work to provide a stable, reliable framework for executing the most complex, error prone database operations. Throttling mechanics are being included in this scope for now.
Why: This final stages of this effort will help us accomplish some long term goals. First, extra safety on gitlab.com migrations from the automated throttling mechancis. Second, developer observability via chatops will reduce load on database experts by allowing members of the team to self service information about their background migrations in production. The additional batch handling work will also help our self managed customers execute migrations more reliably.
Priority topics for %15.9:
- Pause migration when patroni apdex dropped belo... (gitlab-org/gitlab#357250 - closed)
- Estimate length of capped batched background mi... (gitlab-com-database-testing#53 - closed)
- Provide documentation to help internal+external users understand what a migration is doing
CI Partitioning Support
Who: @stomlinson
@mattkasa
What: We're starting work aiding the CI groups to partition their tables. The two main aids we're providing are helpers for partitioning tasks, and the initial phase of Single query testing which provides assistance in identifying partitioning keys.
Why: CI tables are very large and partitioning them will help a lot to control some of the table sizes we're experiencing. In addition to alleviating these specific tables, we're also creating a blueprint for further teams to leverage partitioning in the future.
Priority topics for %15.9:
- Continue to support efforts to partition the
ci_builds
table - ConvertTableToFirstListPartition helper does no... (gitlab-org/gitlab#383310 - closed)
Automated Database Testing
Who: @mattkasa
@jon_jenkins
@l.rosa
What: We're extracting queries and identifying added or changed queries from a merge request. Long term, we will provide analysis on these extracted queries to ensure they meet our guidelines.
Why: We're hoping to help people identify their new queries early and give database reviewers a boost by extracting the sql automatically. Additionally, this should aid partitioning efforts by helping teams identify queries that do not contain the partitioning key for their newly partitioned tables.
Priority topics for %15.9:
- Migration testing pipeline throws errors when i... (gitlab-com-database-testing#66 - closed) typebug
- Record and analyze the locks taken during a mig... (gitlab-com-database-testing#38)
- Query Reporting: Deduplicate recorded queries (gitlab-org/gitlab#368741 - closed)
- Fail build when the structure.sql is changed, a... (gitlab-org/gitlab#381704 - closed)
High Severity / Priority issues
Remove old migrations in 15 (gitlab-org/gitlab#370640 - closed)
Who: @jon_jenkins
In every major release (once a year), we like to remove old migrations to clean up the repository. It's been a while since we did this, but we should be able to drop migrations introduced before 15.0. We have begun the process of squashing in 15.8 but there will be additional work items rolling into 15.9
Automatically Identify database tables that do ... (gitlab-org/gitlab#388013 - closed)
Who: @dfrazao-gitlab
As a first phase of Identify Self-Managed DB Schema Divergence (gitlab-org&9629), we're building tasks to identify if and how a schema has diverged from the reference.