Twitter-Suche: Lucene ersetzt MySQL
Die Anforderungen an ein System zur Suche in den Tweets auf Twitter sind hoch: Derzeit fallen rund 1.000 neue Tweets pro Sekunde an, es müssen rund 12.000 Suchanfragen pro Sekunde beantwortet werden. Das sind schon jetzt mehr als 1 Milliarde Suchanfragen pro Tag. Und das System soll trotz Twitters rasantem Wachstum einige Jahre halten.
Das alte, auf MySQL basierende System wurde dem Wachstum nicht mehr gerecht, denn MySQL ist auf ein solches Szenario nicht ausgelegt. Vor rund sechs Monaten entschied Twitter daher, ein neues Backend für die Suche zu entwickeln und dabei auf die Open-Source-Suchmaschine Apache Lucene zurückzugreifen.
Allerdings musste Lucene an Twitters Anforderungen angepasst werden, denn die Software ist nicht darauf ausgelegt, neue Inhalte in Echtzeit in ihren Index aufzunehmen. Aber neue Tweets sollen spätestens nach 10 Sekunden gefunden werden. Dazu sollte der Indexer eine Latenz von unter einer Sekunde erreichen.
Daher schrieben die Twitter-Entwickler große Teile von Lucene neu, behielten aber Lucenes Standard-APIs bei. So kann Lucenes Suche fast ohne Änderungen verwendet werden. Sämtliche Änderungen will Twitter an das Lucene-Projekt zurückgeben, einige davon haben es bereits in den aktuellen Entwicklerzweig von Lucene beziehungsweise in dessen neuen Echtzeitzweig geschafft.
Die Umstellung auf das neue Such-Backend ging ohne größere Probleme vonstatten, das System arbeitet recht effizient. Derzeit würden nur etwa 5 Prozent der verfügbaren Backend-Ressourcen benötigt, schreibt Twitter-Entwickler Michael Busch in einem Blogeintrag(öffnet im neuen Fenster). Der Indexer sei in der Lage, rund 50 Prozent mehr Tweets pro Sekunde zu verarbeiten, als derzeit anfallen.
Nutzer sollen zunächst von einem vergrößerten Index profitieren, dürfen sich aber zugleich auf neue Funktionen freuen, die Twitter auf Basis der neuen Infrastruktur in Zukunft realisieren will. Konkrete Ankündigungen gibt es aber noch nicht.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



