Af Larry Dignan til Between the Lines | 22. juli 2021 – 16:00 GMT (17:00 BST) | Emne: Big Data Analytics
Facebook skitserede sin migration til MySQL 8.0, et væld af hovedpine og en tidslinje, der fremhæver disse opgraderinger, kan være smertefuldt selv for et firma, der er kendt for sin tekniske dygtighed og omfang.
I et blogindlæg skitserede Facebooks ingeniørteam en MySQL-opgradering fra 5,6 til 8,0. MySQL fungerer som basis for Facebooks lagermotor, replikering og arbejdsbelastninger. Facebook havde brugerdefinerede funktioner med open source-databasen, var nødt til at sikre, at replikering var kompatibel og måtte minimere ændringer, mens den styrkede ydeevnen.
Opgraderingen er værd at læse, da den fremhæver, hvordan virksomheder kan tilpasse open source-software og ende med alle komplikationer ved et proprietært system. Her er et par takeaways fra MySQL 8.0-opgraderingsdissektionen fra Facebook.
Projektet tog et par år at gennemføre. Facebooks sidste store versionopgradering til MySQL 5.6 tog mere end et år at rulle ud. Facebook besluttede at springe en opgradering over til 5.7, da den udviklede sin MyRocks-lagringsmotor. MySQL 8.0 blev annonceret, da MyRocks blev afsluttet, så Facebook valgte at opgradere for at tilføje forbedringer til lagringsmotoren. Facebook havde 1.700 kodeopdateringer til port fra sin tilpassede MySQL 5.6-filial til 8.0. Indsatsen blev kompliceret af nye Facebook MySQL-funktioner og rettelser, der løbende blev føjet til 5.6-kodebasen. Opgraderingen fra 5.6 til 8.0 sprang over 5,7 helt, og nogle API'er blev enten udfaset eller fjernet fuldstændigt. Enhver applikation, der bruger de gamle API'er, har brug for en opdatering. Dokumentation af brugerdefineret kode var plettet. Facebook sagde, at det meste af sin brugerdefinerede kode havde gode kommentarer og dokumentation. Anden kode blev ikke dokumenteret så godt, og Facebook krævede gennemgang af gamle dokumenter, indlæg og kodekommentarer for at forstå historien. De mest komplekse funktioner krævede betydelige ændringer i MySQL 8.0, og der var kompatibilitetsproblemer at løse. I sidste ende evaluerede Facebook mere end 2.300 patches og porterede 1.500 af dem til MySQL 8.0.
Var opgraderingen det værd? Facebook hævdede, at MySQL 8.0-opgraderingen i høj grad forbedrer, hvad virksomheden kan gøre. Imidlertid kan Facebook måske allerede begynde at tænke igennem fremtidige opgraderinger.
Relaterede emner:
Enterprise Software Digital Transformation Robotics Internet of Things Innovation CXO