Die Instant Search für Youtube

Feross Aboukhadijeh, Student an der Universität von Stanford, hatte mit seinem Studienkollegen nach der Bekanntmachung der Google Instant Search eine mutige Wette abgeschlossen: Das ist kein großes Ding, das gleiche schaff ich für Youtube innerhalb einer Stunde nachzubauen. Er hat es nicht in einer Stunde geschafft – sondern in drei. Nachdem er fertig war, postete er noch eine Statusmeldung bei Facebook und legte sich anschließend schlafen:

Als er am nächsten Morgen erwachte, befanden sich bereits über 700 Mails in seinem Postfach – von Leuten, die ihm gratulierten, aber auch Interviewanfragen wie z.B. von der Washington Post. Er landete auf mehreren großen Internetportalen auf der Startseite und war die Story des Tages.

Als Krönung des Ganzen gab es dann noch ein Jobangebot vom Youtube CEO persönlich – natürlich per Twitter 😉

Mittlerweile hat Feross das Angebot angenommen und wird von nun an für Youtube arbeiten.

Wie Feross selbst sagte, ist das Ganze nichts aufwändiges – aber er hat diese “leichte” Arbeit zum richtigen Zeitpunkt und vor allem als erster erledigt. So einfach kann es gehen und man wird über Nacht zur Internet-Legende. Über Sinn oder Unsinn einer Instant-Search kann man sich streiten, ich persönlich kann damit jedenfalls nichts anfangen – sowohl bei Google als auch Youtube. Wenn ich etwas suche, dann kenne ich das Suchwort und klicke anschließend auf Suchen – das erzeugt auf den Servern weniger Last und mir weniger Traffic. Trotzdem ist die Instant-Search technisch gesehen natürlich eine tolle Sache und erst durch die aktuelle Breitbandversorgung und vor allem Ajax möglich. Man darf gespannt sein, was wir in den nächsten Jahren noch alles so sehen werden…

Links:
ytinstant.com

Twitter in Zahlen

Letzte Woche bin ich auf eine sehr interessante Präsentation von Twitter gestoßen, die ein paar Zahlen aus deren Ökosystem preisgibt. Wenn man die sich so anschaut, kann man nur sagen: wow!

Vor allem die technischen Anforderungen übersteigen bei weitem das Vorstellungsvermögen selbst von IT Spezialisten – sofern man solch große Systeme noch nie gesehen hat. Doch, kommen wir zu den Fakten:

Twitter ist ein sog. Microblogging Dienst, der Kurznachrichten (Tweets) von bis zu 140 Zeichen zulässt. Hat man vorher per RSS bei Blogs mitgelesen, ist man bei Twitter ein Follower, genausogut kann man aber auch selbst Follower haben. Loggt man sich bei Twitter ein, so sieht man seine Timeline, also alle Tweets, die man selbst und die Leute, denen man folgt, abgesendet haben. Man könnte einen Tweet als eine Art SMS an alle meine Freunde sehen.

Klingt erstmal von den Daten her nicht viel und man könnte meinen, dass die anfallende Menge locker von ein paar Servern abgefangen werden kann. Bedenkt man aber, dass Twitter derzeit ca. 150 Millionen registrierte User hat, welche am Tag ca. 70 Millionen Tweets (ca. 800/Sekunde) hinterlassen, dann sieht die Welt schon etwas anders aus. Das tägliche Datenvolumen, welches alleine durch die Tweets erzeugt wird, umfasst derzeit um die 12 Gigabyte (800 Tweets / s = 160Kb/s = 9MB/h = 12GB / 24h). Täglich kommen ca. 8 Terrabyte an Daten zusammen. Zum Vergleich: Die Börse generiert am Tag ca. 1Terrabyte an Daten.

Für die Relationen zwischen den Usern (Following) kommt flockdb zum Einsatz, welches auf extrem schnelle CRUD (Create, Read, Update, Delete) Operationen getrimmt ist und vor allem sehr gut mit komplexen Datenstrukturen klar kommt – Stichwort: Joins. MySQL kommt zwar für einen Großteil der Daten zum Einsatz, kann aber sehr schlecht horizontal skalieren (Clustering) und auch nicht schnell genug neue IDs erzeugen. Die Twitter-Eigenentwicklung Gizzard stellt ein Framework für fehlertolerante und verteilte Datenbanken zur Verfügung, welches stark auf horizontale Skalierung ausgelegt ist. Gizzard ist im Prinzip ein Manager für DBMS (Database Management System), der es ermöglicht, mit sehr vielen Datastores zu arbeiten. Da dieses System selbst keine IDs erzeugen kann, hat Twitter zusätzlich Snowflake entwickelt, welches sehr viele unique IDs innerhalb kürzester Zeit erstellen kann. Die Problematik an der Stelle war, dass Tweets, die etwa zur selben Zeit erzeugt werden, auch eine ziemlich nah beieinander liegende ID erhalten sollten, da diese für die Sortierung bei Twitter und auch bei den meisten Clients verwendet wird. Um diesem Umstand gerecht zu werden, verwendet man für die IDs eine Kombination aus Timestamp, Worker-ID und Sequenz.

Doch die wenigsten nutzen ausschließlich die Twitter-Homepage. Den eigentlichen Erfolg konnte Twitter über seine sehr früh vorhandene offene API erreichen. Jedem ist es möglich, seinen eigenen Client oder sein eigenes Mashup zu generieren, wovon auch viele Leute Gebrauch machen. Und so kommt es nicht von ungefähr, dass Twitter am Tag ca. 6 Milliarden API-Aufrufe, also 70.000/s, erreichen. Interessant ist, dass Twitter im April “nur” 3 Milliarden tägliche API-Aufrufe verzeichnen konnte – Innerhalb von 5 Monaten hat sich diese also verdoppelt. Um diese Last tragen zu können hat HOSEbird, die Twitter Streaming API entwickelt, welche die komplexen Datenanfragen sowohl von den Clients als auch von Twitter selbst einfach und sehr performant abhandelt.

Wie auch Facebook kann Twitter die enormen Daten nur verarbeiten, weil es die nötigen Systeme einfach selbst schreibt. Der Benefit der Allgemeinheit dabei ist die Offenheit dieser Unternehmen, da sie fast alle dieser Entwicklungen per Open Source ins Netz stellen, damit diese auch von der Community weiter entwickelt werden können. Hier können die großen Player wie Microsoft, Apple, Oracle, SAP und co. noch viel lernen.

Aber, wohin entwickelt sich das Unternehmen Twitter bzw. was ist sein Ziel? Die derzeit 150 Millionen User sollen 6 Milliarden ansteigen, sodass jeder zweite Mensch Twitter verwendet. Sicher ein ehrgeiziges Ziel, aber bei dem derzeitigen Wachstum sollten sie zumindest nah an diesen Wert herankommen. Die Probleme, die auf dem Weg dahin liegen, sind Echtzeit, Datenbanken, Speicher, Skalierbarkeit und Effizienz. Ich wünsche ihnen dafür viel Glück 😉

via techcrunch.com

[Quicktip] Spotlight Suche reparieren

Habt ihr das Problem, dass einige Programme oder Daten nicht mehr in Spotlight gefunden werden? Mir ging es so nach dem letzten OSX Update. Programme wie Itunes wollten sich einfach nicht mehr finden lassen – manuell raussuchen und starten ging aber.

Die Lösung ist, dass man den Spotlight-Index neu erstellen lassen muss:

1. Spotlight Einstellungen aufrufen -> oben rechts auf die Lupe und dann “Spotlight Einstellungen” oder über die Systemeinstellungen und dann auf Spotlight klicken

2. Auf “Privatsphäre” klicken

3. nun könnt ihr entweder einzelne Ordner in die Liste ziehen, oder gleich die ganze Festplatte. Sobald ihr dies tut, wird der Index für diese Verzeichnisse gelöscht. Wenn ihr die ganze Platte reinzieht, dann wird der komplette Index entfernt.

4. die Ordner / Laufwerke wieder aus der Liste löschen

5. Fertig. Spotlight wird diese Ordner / Laufwerke nun neu indizieren. Man erkennt dies an dem Punkt, der innerhalb der Spotlight-Lupe aufblinkt. Sobald dieser Weg ist, ist die Indizierung durch und die Programme / Daten sollten wieder auffindbar sein.

Einzelne Ordner hineinziehen hatte bei mir nicht geholfen – Spotlight reagierte darauf gar nicht. Erst als ich die ganze Festplatte reingezogen hatte reagierte es und erstellte den kompletten Index neu. Bedenkt aber, dass die Indizierung der kompletten Festplatte mehrere Stunden in Anspurch nehmen kann….

Der interaktive HTML5 Film

Wow! Das ist die beeindruckenste HTML5 Demo, die ich jemals gesehen habe…

Gebt einfach eure Heimatstadt in das Suchfeld ein, wartet die Berechnung kurz ab und dann genießt den Film – natürlich mit eingeschaltenem Sound. Falls ihr eher auf dem Land lebt, werden die Aufnahmen des Ortes wahrscheinlich nicht sehr scharf sein und ihr erhaltet eine entsprechende Warnung. In diesem Falle nehmt lieber die nächste Großstadt – dann wirkt es doppelt so gut!

Wenn man bedenkt, dass sich erst um eine der ersten richtig guten Demos handelt, kann man sich denken, dass mit der wachsenden Erfahrung und der nötigen Kreativität noch viel geilere Sachen möglich sind.

Jetzt aber genug gequatscht, zieht euch das einfach mal rein:

thewildernessdowntown.com

Via Techcrunch

[Quicktip] WordPress Lightbox 2 Plugin funktioniert nicht

Wenn man das Lightbox 2 Plugin installiert hat, die in Artikel eingefügten Bilder aber nicht in der schönen Lightbox erscheinen wollen, hat man wahrscheinlich seine Bilder falsch verlinkt. Um das Problem zu beheben geht einfach folgendermaßen vor:

1. neues Bild hinzufügen

2. bei “Link URL” auf “File Url” klicken

3. “Insert into Post”

4. Fertig!

Zu Besuch bei Facebook Seattle

Wenn man selbst in einem Start-Up arbeitet, schielt man natürlich gerne auf große Vorbilder wie Twitter, Facebook und co., um zu sehen, wie (und vor allem wo) diese arbeiten. Und ab und zu gibt es da mal kleine Einblicke zu erhaschen – wie nun bei Facebook in der Seattle-Niederlassung:





Große Ziele – große Büros – große Kreativität….

Via Techcrunch