Learn Cassandra

1UN indice (nome precedente: indice secondario) fornisce mezzi per accedere ai dati in Cassandra utilizzando campi chiave non primari diversi dalla chiave di partizione. Il vantaggio è la ricerca rapida ed efficiente dei dati corrispondenti a una determinata condizione. In realtà, se non esiste un indice su una colonna normale, non è nemmeno consentito interrogare condizionatamente dalla colonna.

Un indice indicizza i valori delle colonne in una famiglia di colonne (tabella) separata e nascosta da quella che contiene i valori indicizzati. I dati di un indice sono solo locali, il che significa che non verranno replicati su altri nodi. Ciò significa anche che, per la query di dati per colonna indicizzata, le richieste devono essere inoltrate a tutti i nodi, in attesa di tutte le risonanze, quindi i risultati vengono uniti e restituiti. Quindi, se si dispone di molti nodi, la risposta alla query rallenta man mano che vengono aggiunte più macchine al cluster.

Attenzione:

Dalla versione corrente (2.0.7) di Apache Cassandra, è possibile eseguire query solo tramite una colonna indicizzata con condizione di confronto dell’uguaglianza. Selezione intervallo o order-by da una colonna indicizzata non è supportato. Il motivo è che le chiavi memorizzate nella famiglia di colonne nascoste non sono ordinate.

Quando usare un indice?

Gli indici incorporati di 2Cassandra sono i migliori su una tabella con molte righe che contengono il valore indicizzato. Più valori univoci esistono in una particolare colonna, più overhead avrai per interrogare e mantenere l’indice. Ad esempio, supponiamo di avere una tabella di playlist con un miliardo di canzoni e di voler cercare le canzoni dell’artista. Molte canzoni condivideranno lo stesso valore di colonna per artista. La colonna artista è un buon candidato per un indice.

Quando non usare un indice?

2Do non utilizzare un indice in queste situazioni:

  • alta cardinalità colonne perché poi la query di un enorme volume di record per un piccolo numero di risultati
  • Nelle tabelle che utilizzano una colonna contatore
  • un frequente aggiornamento o la cancellazione colonna
  • Per cercare una riga in una partizione di grandi dimensioni, a meno che strettamente interrogato

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.