Facebook delinea le lezioni apprese dalla migrazione a MySQL 8.0

0
147

Larry Dignan

di Larry Dignan per Between the Lines | 22 luglio 2021 — 16:00 GMT (17:00 BST) | Argomento: Analisi dei Big Data

Facebook ha delineato la sua migrazione a MySQL 8.0, una serie di grattacapi e una sequenza temporale che evidenzia che tali aggiornamenti possono essere un problema anche per un'azienda nota per le sue capacità ingegneristiche e le sue dimensioni.

In un post sul blog, il team di ingegneri di Facebook ha delineato un aggiornamento di MySQL da 5.6 a 8.0. MySQL funge da base per il motore di archiviazione, la replica e i carichi di lavoro di Facebook. Facebook aveva funzionalità personalizzate con il database open source, doveva garantire che la replica fosse compatibile e doveva ridurre al minimo le modifiche rafforzando le prestazioni.

Vale la pena leggere l'aggiornamento poiché evidenzia come le aziende possono personalizzare il software open source e finire con tutte le complicazioni di un sistema proprietario. Ecco alcuni suggerimenti dalla dissezione dell'aggiornamento di MySQL 8.0 da Facebook.

Il progetto ha richiesto un paio di anni per essere completato. L'ultimo aggiornamento della versione principale di Facebook a MySQL 5.6 ha richiesto più di un anno per essere implementato. Facebook ha deciso di saltare un aggiornamento a 5.7 mentre sviluppava il suo motore di archiviazione MyRocks. MySQL 8.0 è stato annunciato quando MyRocks è stato completato, quindi Facebook ha deciso di eseguire l'aggiornamento per aggiungere miglioramenti al suo motore di archiviazione. Facebook aveva 1.700 patch di codice da trasferire dal suo ramo MySQL 5.6 personalizzato a 8.0. Lo sforzo è stato complicato dalle nuove funzionalità e correzioni di Facebook MySQL aggiunte continuamente alla base di codice 5.6. L'aggiornamento da 5.6 a 8.0 ha ignorato completamente 5.7 e alcune API sono state deprecate o rimosse completamente. Qualsiasi applicazione che utilizzava le vecchie API necessitava di un aggiornamento. La documentazione del codice personalizzato era imprevedibile. Facebook ha affermato che la maggior parte del suo codice personalizzato ha avuto buoni commenti e documentazione. Anche altro codice non è stato documentato e Facebook ha richiesto di scavare tra vecchi documenti, post e commenti sul codice per comprendere la cronologia. Le funzionalità più complesse richiedevano modifiche significative a MySQL 8.0 e c'erano problemi di compatibilità da risolvere. Alla fine, Facebook ha valutato più di 2.300 patch e ne ha portate 1.500 su MySQL 8.0.

Ne è valsa la pena l'aggiornamento? Facebook ha sostenuto che l'aggiornamento di MySQL 8.0 migliora notevolmente ciò che l'azienda può fare. Tuttavia, Facebook potrebbe voler iniziare già a pensare agli aggiornamenti futuri.

Argomenti correlati:

Software aziendale Trasformazione digitale Robotica Innovazione Internet delle cose CXO Larry Dignan

Di Larry Dignan per Between the Lines | 22 luglio 2021 — 16:00 GMT (17:00 BST) | Argomento: Analisi dei Big Data