Twitter Mitarbeiter Kevin Weil sprach an der Veranstaltung Strange Loop über den Einsatz von NoSQL Technologien bei Twitter.com. Er sprach davon, dass Twitter zwar sehr viele MySQL Datenbanken im Einsatz hat, aber auch dort mit NoSQL Lösungen arbeitet, wo eine klassische Datenbank an ihre Grenzen stösst.
Twitter Benutzer laden täglich 12 Terrabyte an Daten auf Twitter.com hoch. Das sind 4 Petabytes pro Jahr, wobei sich das Datenvolumen jedes Jahr mindestens verdoppelt. Um diese Datenflut zu bewältigen arbeitet Twitter mit verschiedenen Technologien:
Scribe
Scribe ist ein flexibles Logging System, welches von Facebook entwickelt wurde. Twitter hat das System mit eigenen Patches an seine Bedürfnisse angepasst. Twitter loggt 80 verschiedene Kategorien von Daten mit Scribe. Die Logdaten werden in Hadoop geschrieben
Hadoop
Twitter schreibt mehr Daten pro Tag als jede Harddisc zu schreiben schafft. Daher arbeitet Twitter mit Cluster Systemen welche die Schreiblast verteilen. Diese Cluster werden mit Cloudera’s Hadoop Distribution betrieben. MySQL wäre mit der Menge an Daten überfordert welche bei Twitter anfallen, deswegen benutzt Twitter das eigene FlockDB System, welches als OpenSource vorliegt.
Pig
Weil sagte die normale Sprache um mit dem Hadoop Cluster zu kommunizieren sei Java. Java ist aber zu komplex und zuwenig skalierbar um mit der grossen Menge an Daten umgehen zu können. Daher kommt bei Twitter die Sprache Pig zum Einsatz um die Cluster Systeme anzusprechen. Pig wurde von Yahoo entwickelt und Weil meinte es sei leicht zu erlernen.
Weiterlesen →