Datenbank: Facebook braucht schon Jahre für MySQL-Update

Das Update von MySQL 5.6 auf das aktuelle 8.0 laufe bei Facebook wegen vieler Probleme schon seit "einigen Jahren" und ist noch nicht fertig.

Artikel veröffentlicht am ,
Das MySQL-Update dauert bei Facebook Jahre.
Das MySQL-Update dauert bei Facebook Jahre. (Bild: Dado Ruvic/File Photo/Reuters)

Software-Updates von Abhängigkeiten können bei besonders großen Anwendungen und vor allem bei eigenen Anpassungen einige Zeit dauern. Das beschreibt nun auch der Betreiber von sozialen Netzwerken Facebook in seinem Engineering-Blog. Demnach habe das letzte große Update von MySQL auf Version 5.6 "länger als ein Jahr" gedauert. Darüber hinaus laufe ein Update auf Version 8.0 seit "einigen Jahren".

Stellenmarkt
  1. Senior Java Developer (m/w/d)
    Westnetz GmbH, Dortmund
  2. Produktmanager / Produktverantwortlicher Online-Dienste (w/m/d)
    Dataport, verschiedene Standorte
Detailsuche

Das Problem dabei für Facebook ist, dass die Version 5.6 nicht nur bereits acht Jahre alt ist, sondern seit Februar 2021 offiziell von Hersteller Oracle auch nicht mehr unterstützt wird. Hinzu kommt, dass Facebook das Update auf Version 5.7 ausgelassen hat. MySQL 8.0 ist erstmals vor mehr als drei Jahren erschienen, im Frühjahr 2018.

Dass das MySQL-Update bei Facebook so lange braucht, liegt wohl vor allem daran, dass das Unternehmen zahlreiche Anpassungen an dem Code vorgenommen hat. Für MySQL 5.6 seien das rund 1.700 Patches. Diese mussten alle auf Version 8.0 portiert werden. Zusätzlich dazu haben die Entwickler bei Facebook aber auch noch neue Funktionen für die alte Version geschrieben, da sie ja noch im Produktivbetrieb ist. Auch diese müssen letztlich portiert werden.

Darüber hinaus lief anderer Facebook-Code nicht mehr mit der neuen Version 8.0, so dass auch dieser Code angepasst und dafür ein Update-Pfad erarbeitet werden muss. Ein ähnliches Problem bezieht sich möglicherweise auf APIs, die mit MySQL 8.0 entfernt worden sind, aber in MySQL 5.6 noch vorhanden sind. Auch hier muss Facebook Lösungen finden. Hinzu kommt, dass Facebook mit Myrocks ein eigenes Storage-Backend für MySQL erstellt hat, das auf RocksDB basiert. Auch dieser Code musste auf die neue MySQL-Version vorbereitet werden.

Langer Upgrade-Pfad

Golem Karrierewelt
  1. Adobe Photoshop für Social Media Anwendungen: virtueller Zwei-Tage-Workshop
    24./25.08.2022, virtuell
  2. Azure und AWS Cloudnutzung absichern: virtueller Zwei-Tage-Workshop
    22./23.09.2022, virtuell
Weitere IT-Trainings

Für das eigentliche Upgrade setzt Facebook auf Replikations-Cluster (Replika-Set), die alle die gleichen Daten vorhalten und aus Primär- und Sekundär-Instanzen bestehen. Ziel ist es, die Sekundär-Instanzen auf Version 8.0 zu migrieren, diese später als Primär-Instanz zum Lesen der Daten zu verwenden und letztlich die Instanzen mit der alten Version 5.6 zu löschen.

Auch wegen der bereits aufgezählten zahlreichen Probleme mit dem Code ist dies aber für Facebook alles andere als leicht umzusetzen. Denn um die Migration zu automatisieren, habe Facebook "neue Infrastruktur" erstellen müssen. Ebenso muss die Migration eines Clusters überprüft und validiert werden.

Inzwischen sei der größte Teil der Datenbank-Instanzen migriert und der Rest befinde sich bereits in der Migration. Und trotz all der Probleme zeige die Nutzung von MySQL 8.0 einige Vorteile für Anwendungen. Außerdem erweitere das Update, was Facebook mit MySQL machen könne.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


tkr104 06. Okt 2021

Du meinst da hätten sich die Patches automagisch an die neue Version angepaßt?

Smolo 31. Jul 2021

Das Rahmenwerk wird aber als "der Standard" verkauft und genau hier setzt das Problem...

486dx4-160 24. Jul 2021

Wenn die Änderung/Erweiterung gut ist, sollte man sie immer Upstream geben. Dann erfährt...

mhstar 24. Jul 2021

Wenn man Open Source Sachen (OSS) nimmt, herbe herumpatcht im Code, und es dann - wider...



Aktuell auf der Startseite von Golem.de
Google Fonts
Abmahnungen an Webseitenbetreiber mit Google-Schriftarten

Nach einer Entscheidung des Landgerichts München erhalten Webseitenbetreiber mit eingebundenen Google Fonts vermehrt Abmahnungen.

Google Fonts: Abmahnungen an Webseitenbetreiber mit Google-Schriftarten
Artikel
  1. Programmiersprache: JSON-Erfinder will Javascript in Rente schicken
    Programmiersprache
    JSON-Erfinder will Javascript in Rente schicken

    Douglas Crockford, der Erfinder des Datenformats JSON und Mitentwickler von Javascript, findet, dass die Sprache in Rente geschickt werden sollte.

  2. Paw Patrol: US Space Force schickt Roboterhunde auf Patrouille
    Paw Patrol
    US Space Force schickt Roboterhunde auf Patrouille

    Die US Space Force wird einen hundeähnlichen Roboter von Ghost Robotics auf Patrouille schicken, um Personalkosten zu senken.

  3. Windows auf dem Mac: Parallels wird merklich teurer
    Windows auf dem Mac
    Parallels wird merklich teurer

    Parallels 18 bietet eine native Unterstützung für Windows 11 und eine bessere Ressourcenzuweisung. Allerdings wird die Software teurer.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Günstig wie nie: WD SSD 1TB m. Kühlkörper (PS5) 119,90€, MSI 29,5" 200 Hz 259€, LG QNED 75" 120 Hz 1.455,89€ • MindStar (XFX RX 6950 XT 999€, Gainward RTX 3070 559€) • Gigabyte Deals • Der beste Gaming-PC für 2.000€ • Apple Week bei Media Markt • be quiet! Deals [Werbung]
    •  /