MySQL-Tools gehen Open Source

Pinterest veröffentlicht MySQL-Management-Tools
1 Kommentar

Nachdem Pinterest bereits in der Vergangenheit seine Liebe zum Datenbank-Klassiker MySQL erklärte, hat das soziale Netzwerk jetzt zahlreiche MySQL-Tools Open Source veröffentlicht.

Nach Netflix und Facebook zieht jetzt auch Pinterest nach und gibt mit rund zwanzig Datenbankwerkzeugen den Großteil seiner MySQL-Tools Open Source frei. Rob Wultsch, Entwickler der MySQL-Management-Tools, erklärt via Blogpost, wie der Webdienst MySQL einsetzt und wie Entwickler die Werkzeuge in ihrer eigenen MySQL-Infrastruktur nutzen können.

MySQL und Pinterest

Pinterest nutzt MySQL, um wichtige Daten von Pins, Boards, Bilder-Metadaten sowie Zugangsdaten der Nutzer zu speichern. Vor kurzer Zeit hat Pinterest Redis aufgrund von Kernel-Optimierungen durch MySQL ersetzt, gleichzeitig dient die Datenbank als HBase-Backend für die Graph-Storage-Engine. Wichtig ist zudem, dass die Umgebung aus administrativer Sicht für alle MySQL-Use-Cases identisch ist.

Die Entwickler hinter Pinterest haben versucht, die verwendeten Strukturen einfach zu gestalten: Ein System mit mehreren Instanzen hatte sich als fehleranfällig herausgestellt, weswegen die Konfigurationen mittlerweile aus einem Master mit einem oder zwei Slaves besteht. Die Verbindung zwischen den Administrationswerkzeugen und den MySQL-Applikationen ist der ZooKeeper: Er versorgt Clients mit Hostnames, Benutzernamen und Passwörtern der Datenbank.

Operational Buddhism

Pinterest vermeidet des Weiteren Kernel-Upgrades und Versionsupdates, die einen Neustart der Datenbank erfordern. Solche Änderungen werden vielmehr durch einen Server-Austausch ausgeführt:

MySQL servers at Pinterest are launched, live and die with only the rarest of configuration changes. […] We call this mindset “Operational Buddhism,” meaning we don’t get attached to our servers, because they might be gone tomorrow.

So erzeugt eines der Werkzeuge einen Ersatzserver auf Basis einer vorhandenen Konfiguration. Muss der Master-Server ausgetauscht werden, regelt ein anderes Skript die Beförderung des primären Slaves zum neuen Master. Weitere Tools steuern zum Beispiel Backup-Restore-Prozesse oder überprüfen die korrekte Zuordnung und Replikation.

Kein Patentrezept

Da die Tools straff in den Pinterest-Service-Discovery-Mechanismus integriert sind, bedarf es einer moderaten Anpassung des Codes. Zudem kommen sie mit einigen Beschränkungen daher, wie beispielsweise der fehlenden Unterstützung für mehr als zwei Slaves. Das Unternehmen hofft aber, dass die Werkzeuge anderen Entwicklern nützlich sind, die selbst eine Automatisierung für ihre MySQL-Infrastruktur erstellen wollen. Am Rande sei noch erwähnt, dass Pinterest seine MySQL-Umgebung mit Hunderten von Terabyte mit „less than two dedicated engineers“ instand hält.

Insgesamt hat Pinterest rund 20 Tools als Python-Skripte auf GitHub veröffentlicht. Zu allen Werkzeugen gibt es eine kurze Anwendungsbeschreibung. Admins, die sich für detaillierte Informationen zu den Setups interessieren, finden im Pinterest-Blog zahlreiche hilfreiche Artikel.

webinale – the holistic web conference

Webperformance und Page Speed 2021

mit Sven Wolfermann (maddesigns)

UX Design: Kitsch – du willst es doch auch!

mit Lutz Schmitt (Lutz Schmitt Design & Consulting)

Software Architecture Summit Online

 

Aufmacherbild: Pinterest logotype printed on paper and pinned on cork bulletin board von Shutterstock / Urheberrecht: rvlsoft

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
1 Kommentar
Inline Feedbacks
View all comments
trackback

[…] Pinterest gibt mit rund zwanzig Datenbankwerkzeugen den Großteil seiner MySQL-Tools Open Source frei.  […]

X
- Gib Deinen Standort ein -
- or -