Facebook skisserte migrasjonen til MySQL 8.0, en mengde hodepine og en tidslinje som fremhever disse oppgraderingene, kan være en smerte selv for et selskap kjent for sin tekniske dyktighet og omfang.
I et blogginnlegg skisserte Facebooks ingeniørteam en MySQL-oppgradering fra 5,6 til 8,0. MySQL fungerer som grunnlag for Facebooks lagringsmotor, replikering og arbeidsbelastning. Facebook hadde tilpassede funksjoner med open source-databasen, måtte sørge for at replikering var kompatibel og måtte minimere endringer mens man styrket ytelsen.
Oppgraderingen er verdt å lese, siden den fremhever hvordan bedrifter kan tilpasse programvare med åpen kildekode og ende opp med alle komplikasjonene til et proprietært system. Her er noen få takeaways fra MySQL 8.0-oppgraderingsdisseksjonen fra Facebook.
Prosjektet tok et par år å fullføre. Facebooks siste store versjonsoppgradering til MySQL 5.6 tok mer enn et år å rulle ut. Facebook bestemte seg for å hoppe over en oppgradering til 5.7 da den utviklet MyRocks-lagringsmotoren. MySQL 8.0 ble kunngjort da MyRocks ble fullført, så Facebook valgte å oppgradere for å legge til forbedringer i lagringsmotoren. Facebook hadde 1700 kodeoppdateringer for port fra sin tilpassede MySQL 5.6-gren til 8.0. Innsatsen ble komplisert av nye Facebook MySQL-funksjoner og reparasjoner som kontinuerlig ble lagt til 5.6-kodebasen. Oppgraderingen fra 5,6 til 8,0 hoppet over 5,7 helt, og noen API-er ble enten avviklet eller fjernet fullstendig. Enhver applikasjon som bruker de gamle API-ene, trengte en oppdatering. Tilpasset kodedokumentasjon var prikkete. Facebook sa at det meste av sin tilpassede kode hadde gode kommentarer og dokumentasjon. Andre koder ble ikke dokumentert også, og Facebook krevde å grave gjennom gamle dokumenter, innlegg og kodekommentarer for å forstå historien. De mest komplekse funksjonene krevde betydelige endringer i MySQL 8.0, og det var kompatibilitetsproblemer å løse. Til slutt evaluerte Facebook mer enn 2300 oppdateringer og porterte 1500 av dem til MySQL 8.0.
Var oppgraderingen verdt det? Facebook hevdet at MySQL 8.0-oppgraderingen i stor grad forbedrer det selskapet kan gjøre. Imidlertid kan Facebook allerede ønsker å begynne å tenke gjennom fremtidige oppgraderinger.
Relaterte emner:
Enterprise Software Digital Transformation Robotics Internet of Things Innovation CXO