Twitter

Twitter ora consente di cercare qualsiasi Tweet mai inviato

Paul Burstein stava cercando di correggere un bug software, e Twitter lo stava aiutando. L’anno era il 2011. Burstein lavorava come ingegnere presso la società di internet Salesforce.com, e il bug, un difetto piuttosto fastidioso, stava causando problemi ai servizi online della società. Aveva conosciuto il bug quando qualcuno aveva twittato una pagina web che descriveva il problema, e ogni volta che aveva bisogno di ri-controllare i dettagli, doveva andare su Twitter, trovare quel tweet, e da lì tornare sulla pagina Web.

E’il genere di cosa che la gente spesso fa, cercare cose che hanno precedentemente visitato on-line. Ma poi, dopo circa una settimana, quel tweet è scomparso. Quando Burstein cercò su Twitter, non trovò più niente. Le cose dovevano funzionare così: in origine, Twitter ha costruito il suo motore di ricerca per fornire un rapido accesso a ciò che le persone twittano in questo momento, non a quello che hanno twittato in passato e ciò implicava la rimozione di ogni tweet dall’indice di ricerca dopo una settimana o giù di lì. Ma Burstein sapeva anche che questa situazione non era ideale, e fu uno dei motivi per cui ben presto lasciò Salesforce per lavorare a Twitter. “Mi sentivo come se ci fossero problemi di ricerca interessanti da risolvere”, dice.

In effetti ci sono stati. Poco dopo il suo arrivo a Twitter, Burstein e un piccolo team di ingegneri iniziarono a lavorare su un nuovo motore di ricerca in grado di cercare rapidamente attraverso non solo i milioni di tweet inviati negli ultimi giorni, ma anche le centinaia di miliardi di tweet inviati dal lancio del social network nel 2006. Durante il percorso hanno rilasciato le versioni preliminari di questo strumento in grado di cercare nell’archivio completo, la prima nel 2012, una l’anno scorso, e ora il progetto è definitivamente completo.

Ieri, Twitter ha iniziato a lanciare un servizio di ricerca che permette di cercare ogni Tweet nel suo archivio. Servizi esterni hanno a lungo offerto modi di cercare i vecchi tweet, tra cui strumenti come Topsy (ora di proprietà di Apple) e Tweet Machine, e tali servizi sono ancora il modo migliore di trovare i tweet cancellati da Twitter. Ma il nuovo motore di ricerca di Twitter riempie un buco evidente nel servizio di micro-messaging, e mostra come i servizi di ricerca internet siano in continua evoluzione, fornendo accesso sempre più veloce a un quantitativo sempre crescente di informazioni on-line.

Anche se il nuovo motore di Twitter è oggi limitato a ricerche di parole chiave piuttosto rudimentali, la società prevede di espandersi con ricerche più complesse nei mesi e anni a venire. E i fondamenti dell’infrastruttura di ricerca prevista dalla società contribuirà a guidare altri strumenti di Twitter: “Ci permette di alimentare molte più cose lungo la strada, non solo la ricerca”, afferma Gilad Mishneh, il direttore tecnico di Twitter che ha contribuito a supervisionare il progetto.

Dal primo all’ultimo tweet

Mishneh ha recentemente mostrato il nuovo motore di ricerca nel corso di una riunione dei dipendenti di Twitter presso la sede della società a San Francisco. Il momento clou è stato quando ha mostrato che la ricerca di Twitter ora consente di trovare il primo tweet: il fondatore Jack Dorsey ha detto al mondo che stava lanciando “il suo twttr“.

jack-tweet

Quel tweet non è così difficile da trovare tramite Google e altri motori di ricerca, semplicemente perché è stato citato molto spesso. Ma la nuova ricerca di Twitter può altrettanto facilmente trovare il secondo tweet di Dorsey, il suo terzo e così via, fino ai tweet inviati negli ultimi minuti.

Può sembrare sconcertante che Twitter non avesse offerto un tale motore di ricerca già molto tempo fa. Ma Twitter non aveva nemmeno un motore di ricerca per i tweet recenti fino al 2011, cinque anni dopo la sua nascita. Anche se gestisce enormi quantità di traffico on-line, il servizio di microblogging ora vanta 284 milioni di utenti, il team di ingegneri della società è ancora relativamente piccolo, e tende a espandere i suoi strumenti on-line a un ritmo piuttosto graduale.

Costruire una ricerca onnicomprensiva è piuttosto difficile, ed è molto diverso da modellare uno strumento che cerca gli ultimi tweet. Come dice Mishneh, il primo ordine del giorno della società era quello di fornire una finestra su ciò che sta accadendo ora. “Siamo una piattaforma in tempo reale. Questo è Twitter“, dice. “Così ci siamo concentrati prima sulla soluzione del problema della ricerca in tempo reale”.

Al di là della memoria

Il suo motore di ricerca in tempo reale originale era basato su ciò che è chiamato un sistema “in-memory”. In sostanza, al fine di fornire un rapido accesso ai tweet, essi vengono memorizzati nei principali sottosistemi di memoria di una vasta rete di computer, l’opposto di quanto accade per i dischi rigidi, che leggono e scrivono dati a velocità molto più basse.

Ma era troppo costoso e, almeno a breve termine, troppo difficile configurare abbastanza macchine per memorizzare tutti i tweet in memoria. Così, dopo diversi giorni, la società avrebbe dovuto togliere i tweet dal suo indice e memorizzarli altrove. “Abbiamo dovuto scendere a compromessi, fare le cose il prima possibile tenendo conto della profondità dell’indice”, dice Burstein.

Le cose hanno funzionato abbastanza bene, in quanto il sistema potrebbe conservare qualche miliardo di tweet in memoria, ma Burstein e l’azienda sapevano che il motore di ricerca era necessario per fare di più. Come è spesso accaduto con altri strumenti di Twitter, la società aveva passato anni a far costruire a terzi motori di ricerca in grado di cercare i tweet più anziani.

Alcuni di questi hanno funzionato abbastanza bene, e Twitter ha fornito loro l’accesso diretto ai tweet. Ma non necessariamente forniscono accesso immediato ai tweet nuovi di zecca. Non si integrano con Twitter stesso. E non sempre rimangono. Così, alla fine del 2011, Burstein e pochi altri, tra cui l’ingegnere Yi Zhuang, hanno iniziato a lavorare su un motore di ricerca che tocca direttamente l’archivio di Twitter.

Possiamo davvero fare questo?

A sentire Burstein non era una cosa facile. “Quando abbiamo iniziato,” ricorda, “entravo spesso in ufficio e dicevo: ‘possiamo davvero fare questo?'” Non solo avevano bisogno di indicizzare ogni tweet esistente. Avevano bisogno di trovare un modo di fondere continuamente questo indice con i milioni di nuovi tweet che vanno online ogni secondo che passa. Questo, dice Mike Miller di Cloudant, che ha lavorato con aziende esterne sui motori di ricerca di Twitter, è la parte veramente difficile.

Quando Twitter e gli altri servizi in tempo reale salirono alla ribalta qualche anno fa, Google rimodellò il suo motore di ricerca in modo da poter gestire le pagine internet più recenti con un insieme di dati molto più grandi, e questo ha richiesto una massiccia revisione dei sistemi software che guidano il suo motore di ricerca. Ora, Twitter ha fatto più o meno lo stesso.

In sostanza, Burstein e la sua squadra hanno usato centinaia di macchine che eseguono Hadoop MapReduce – un popolare compressore dati open source – per raccogliere e organizzare tutti i dati necessari al suo indice di ricerca principale, quindi usare il software su una misura separata per costruire realmente l’indice . Il trucco è che un numero relativamente piccolo di macchine costruisce ogni parte dell’indice. “Possiamo massicciamente parallelizzare il processo”, spiega Burstein.

In breve, un gruppo di macchine è in grado di costruire una parte dell’indice per i tweet più anziani, mentre un altro ne costruisce una porzione per i nuovi tweet. Lo stesso software di base che gestisce l’archivio può anche gestire le cose in tempo reale.

Un flash sul futuro

Il sistema può ancora fare tutto questo a buona velocità, ma non cerca di mettere tutto in memoria. Piuttosto utilizza macchine dotate di dischi a stato solido (SSD). In sostanza, si tratta di sostituzioni moderne per dischi rigidi, costruiti con memoria flash, le stesse che memorizzano dati e applicazioni sugli smartphone.

La lettura e la scrittura dei dati su SSD è significativamente più veloce che usare normali dischi rigidi, e i SSD non sono così costosi come la memorizzazione dei dati in memoria principale. Questo è parte di un cambiamento più grande nel mondo dei computer, con tante grandi operazioni volte a fornire un accesso più rapido a più dati on-line. In Twitter, si può vedere un riflesso di internet nel suo complesso.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Le guide più interessanti