Remove subtransactions from `Packages::BuildInfo` model
In #338346 (comment 652623314) and #338865 (comment 655312474), we identified the use of subtransactions can cause significant performance issues on PostgreSQL replicas at scale. If a long running transaction occurs, the subtransaction cache may not fit into the working set of memory, which can lead to a context switch storm when PostgreSQL needs to load subtransaction data from disk. While this arguably is a PostgreSQL bug, we should remove subtransactions entirely because they aren't performant at GitLab.com scale, nor are they strictly necessary. More context in https://gitlab.slack.com/archives/C02BHCTH02D/p1629392215352100?thread_ts=1629388693.342800&cid=C02BHCTH02D.
From https://thanos.gitlab.net/classic/graph?g0.range_input=2h&g0.stacked=0&g0.max_source_resolution=0s&g0.expr=sum(rate(gitlab_active_record_subtransactions_total%7Benv%3D%22gprd%22%7D%5B1m%5D))%20by%20(model)&g0.tab=0 you can see Packages::BuildInfo
is generating subtransactions. These should be removed from the codebase asap.