Technical considerations of implementing manifest schema within gitlab database
Problem to solve
In an effort to support GitLab's single application, single database strategy and provide for large scale growth in our datastore we're investigating possible ways to support a single database within our Postgres cluster. The could be in several forms, either same schema or, separate schema, owned by the rails migrations infrastructure or owned by the Golang container registry code. Explore the impact of and identify potential technical solutions.
Other considerations
An estimate on the size of the manifest database is ~85GB (#61 (comment 332663736)). Required connections for the datastore are unknown at this stage. Access patterns are unknown at this stage (#94 (closed)).
Possible solutions
Add schema to rails mono-repo have read-only management of schema by rails (models have read only) Implement schema as separate schema within GitLab production database others