Twitter legt Veränderungen an MySQL offen
Twitter hat einige Anpassungen an MySQL als Quelltext veröffentlicht. Der Mikrobloggingdienst nutzt die Datenbanktechnik, um den Großteil der von Nutzern hochgeladenen Inhalte zu verwalten.
“MySQL ist die vorherrschende Storage-Technologie hinter dem Großteil der Twitter-Daten: dem Interest Graph, den Zeitleisten, Nutzerdaten und den Tweets selbst”, schreiben Twitter-Programmierer Jeremy Cole und Davi Arnaut im Twitter-Entwicklerblog. “Weil wir daran glauben, Wissen allen Interessierten verfügbar zu machen und mit Open-Source-Software Innovation zu erleichtern, haben wir uns entschlossen, unsere Arbeit an MySQL auf GitHub unter der Lizenz BSD New zu veröffentlichen.”
Der Code, den Twitter freigegeben hat, deckt mehrere Bereiche ab. Unter anderem haben Twitter-Entwickler eine Möglichkeit gefunden, mehr Statusvariablen hinzuzufügen – insbesondere aus InnoDB. So sollen sich Systeme effizienter überwachen lassen. Zudem haben sie die Speicherverteilung auf größeren NUMA-Systemen optimiert.
Twitters Programmierer passten MySQL auch an SSD-Systeme an. Für den Export und die Wiederherstellung von InnoDB-Pufferdaten fanden sie eine einfachere und sicherere Methode. Darüber verbesserten sie die serverseitige Unterstützung für Timeout-Statements. “Das erlaubt es dem Server, proaktiv Anfragen abzubrechen, die länger brauchen als ein auf Millisekunden beschränkter Timeout”, heißt es im Blog.
Mit dem Schritt will Twitter nach eigenen Angaben die MySQL-Community stärken. Neben einer Dokumentation hat es auch ein Changelog via GitHub bereitgestellt. Auf der Percona Live MySQL Conference and Expo 2012, die heute im kalifornischen Santa Clara startet, nennt das Unternehmen Details zur eigenen Nutzung der Datenbank. Unter anderem wird es dabei um Gizzard gehen – Twitters Sharing- und Replikationsframework, das auf MySQL aufbaut.
[mit Material von Anita Klingler, ZDNet.de]