KeyValueDependencyStore should be able to use a key scheme of (entity key => blob hash => blob hash key => blob) to massively de-duplicate the numerous identical entries.
From IRC:
<•AaronSchulz> Aaron Schulz we could have key => hash value => hash key => list of deps 14:06 <•Krinkle> Timo Tijhof (testwiki)> SELECT COUNT(*) FROM module_deps; | 1474 | 14:06 (testwiki)> SELECT COUNT(DISTINCT(md_deps)) FROM module_deps LIMIT 2; |216 | 14:07 commonswiki: 38932 vs 255 14:09 so the 38932 rows would reduce from a JSON array of 1..10 relative file paths, to a hash 14:09 and then 255 additional rows 14:10 s/rows/keys (assuming only for KeyValue) 14:11 well, fewer additional rows I suppose, since we can share that part across wikis 14:13 I think we currently average about ~ 120 bytes per row (incl key) 14:13 e.g. 14:13 | SpecialConstraintReportPage | vector|de | ["resources/lib/ooui/wikimedia-ui-base.less","resources/src/mediawiki.less/mediawiki.ui/variables.less"]