Facebook beskriver lärdomar från MySQL 8.0-migration

0
114

 Larry Dignan

Av Larry Dignan för Between the Lines | 22 juli 2021 – 16:00 GMT (17:00 BST) | Ämne: Big Data Analytics

Facebook skisserade sin migrering till MySQL 8.0, en uppsjö av huvudvärk och en tidslinje som lyfter fram dessa uppgraderingar kan vara en smärta även för ett företag som är känt för sin tekniska skicklighet och skala.

I ett blogginlägg skisserade Facebooks ingenjörsteam en MySQL-uppgradering från 5,6 till 8,0. MySQL fungerar som grund för Facebooks lagringsmotor, replikering och arbetsbelastningar. Facebook hade anpassade funktioner med öppen källkodsdatabas, var tvungen att se till att replikering var kompatibel och var tvungen att minimera förändringar samtidigt som prestanda stärktes.

Uppgraderingen är värt att läsa eftersom den lyfter fram hur företag kan anpassa programvara med öppen källkod och sluta med alla komplikationer i ett eget system. Här är några takeaways från MySQL 8.0-uppgraderingsdissektionen från Facebook.

Projektet tog ett par år att slutföra. Facebooks senaste större versionuppgradering till MySQL 5.6 tog mer än ett år att lansera. Facebook bestämde sig för att hoppa över en uppgradering till 5.7 när den utvecklade sin MyRocks-lagringsmotor. MySQL 8.0 tillkännagavs när MyRocks slutfördes, så Facebook valde att uppgradera för att lägga till förbättringar av lagringsmotorn. Facebook hade 1700 kodkorrigeringar att porta från sin anpassade MySQL 5.6-filial till 8.0. Ansträngningen komplicerades av nya Facebook MySQL-funktioner och korrigeringar som kontinuerligt läggs till 5.6-kodbasen. Uppgraderingen från 5,6 till 8,0 hoppade över 5,7 helt och vissa API: er antingen utfasade eller helt borttagna. Alla applikationer som använder de gamla API: erna behöver en uppdatering. Anpassad koddokumentation var prickig. Facebook sa att de flesta av sin anpassade kod hade bra kommentarer och dokumentation. Annan kod dokumenterades inte heller, och Facebook krävde att man grävde igenom gamla dokument, inlägg och kodkommentarer för att förstå historien. De mest komplexa funktionerna krävde betydande ändringar i MySQL 8.0 och det fanns kompatibilitetsproblem att lösa. I slutändan utvärderade Facebook mer än 2300 korrigeringsfiler och portade 1 500 av dem till MySQL 8.0.

Var uppgraderingen värt det? Facebook hävdade att MySQL 8.0-uppgraderingen kraftigt förbättrar vad företaget kan göra. Facebook kanske dock vill börja tänka igenom framtida uppgraderingar.

Relaterade ämnen:

Enterprise Software Digital Transformation Robotics Internet of Things Innovation CXO  Larry Dignan

Av Larry Dignan för Between the Lines | 22 juli 2021 – 16:00 GMT (17:00 BST) | Ämne: Big Data Analytics