2015-01-24 8 views
6

Se vuoi cercare in Cassandra, mi è stato detto che devi usare qualcosa come ElasticSearch o Solr.In che modo FaceBook utilizza Cassandra per la ricerca nella posta in arrivo, se Caasandra non ha capacità di ricerca?

Come può essere vero se Cassandra è stato originariamente creato per potenziare la ricerca nella Posta in arrivo di FaceBook?

"Apache Cassandra è stata inizialmente sviluppata su Facebook per potenziare la funzionalità di ricerca in arrivo di Avinash Lakshman (uno degli autori di Amazon's Dynamo) e Prashant Malik."

http://en.wikipedia.org/wiki/Apache_Cassandra

risposta

3

L'idea di base è che si utilizza l'ID utente come chiave di partizione, e quindi tutte le informazioni necessarie per una ricerca posta in arrivo saranno raggruppati come righe in quella partizione. È quindi possibile impostare più tabelle come questa con diversi tipi di dati raggruppati nella partizione per supportare diversi tipi di ricerche. Poiché Cassandra può accedere a una partizione in tempo essenzialmente costante, anche con milioni di utenti, il sistema può ridimensionarsi e rimanere veloce non appena si aggiungono nodi e utenti.

Qui è possibile leggere una descrizione del sistema iniziale nella sezione 6.1 Ricerca posta in arrivo di Facebook: Facebook's Cassandra Paper.

La descrizione utilizza una terminologia più vecchio Cassandra come colonne di super, ecc

+0

Ah - e sembra che FaceBook casella di posta 'ricerca' solo ricerche per nome e non il contenuto del messaggio. Se vuoi cercare quelli hai bisogno di una soluzione Solr o Elasticsearch –

Problemi correlati