Implement schema improvements to allow for partitioning and greater efficiency
Problem to solve
As we move closer to v3 of the GitLab Container Registry, we must ensure that the manifest database schema allows for partitioning and is highly efficient. Prior to working on this issue, the ~"group::package" is working with the groupdatabase to review the architecture and requirements for the new image manifest database.
The discussion/review of the database schema with the Database team is in progress and can be followed in #104 (closed). Improvements to allow for partitioning and greater efficiency are expected to be the outcome of this effort. We need to implement any identified improvements at the API level once the discussion is complete.
This does not include any changes related to online garbage collection, as those will be implemented as part of #224 (closed).
Intended users
User experience goal
For Admin, at both GitLab.com and amongst Self-Managed instances, having a performant, reliable GitLab instance is critical.
Proposal
As a follow-up to !269 (closed), implement the schema improvements, so that we can move forward with development of zero-downtime garbage collection..
Documentation
Any changes will be documented in the blueprint for the new Container Registry architecture docs.
Availability & Testing
What does success look like, and how can we measure that?
Success looks like we are ready to move on to the implementation of online garbage collection