| jcrespo added a comment. |
One additional comment is that if you kind of agree, in some cases, to do the "new table and copy" pattern rather than an alter. It is much easier to add or transform columns later, so no need to optimize in advance. NULLs in compact or above rows formats take 1 byte min, but only 1 bit is used for each nulled columns (e.g. a table with 7 null columns only takes 1 byte in total per row). Indexes not accounted.
If the tables were small and do not have a lot of activity (e.g. <20GB), alters are trivial. They become a huge burden if they are large an busy because we have to do the alters at the same time that queries are reading and writing from them, as in most cases we have to pool and depool every server. This is mostly true right now for revision, (maybe page and recentchanges), and image on commons.
Another thing that would cut a lot in time for alters is to integrate etcd into mediawiki. If for a single alters, we have to commit and uncommit 200 times the pooling and depooling of each server, rather than a fully automatized system, that would speed up *a lot* any deployment.
Cc: Marostegui, cicalese, Abit, brion, Anomie, jcrespo, gerritbot, Aklapper, daniel, E1presidente, Ramsey-WMF, Jmmuguerza, SandraF_WMF, Lordiis, GoranSMilovanovic, Adik2382, Th3d3v1ls, Ramalepe, Liugev6, QZanden, Acer, Lewizho99, Maathavan, Susannaanas, Wikidata-bugs, PKM, Base, matthiasmullie, aude, Ricordisamoa, Fabrice_Florin, Raymond, Mbch331
_______________________________________________ Wikidata-bugs mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs
