2012-03-26 18 views
7

Devo testare diversi datamodelli per Cassandra. Sto pensando di usare una chiave composta fatta da key1: key2 per il tasto row. Con questa configurazione su Cassandra, ad esempio, posso richiedere di avere tutte le righe con un valore specifico key1 e qualsiasi valore key2 ma altrimenti impossibile (ottenere tutte le righe aventi un valore specifico di key2 e qualsiasi chiave1). È giusto?Malinteso su chiave composita per Cassandra

grazie in anticipo

Cesare

risposta

3

Se si utilizza Order Preservare Partitioning (OPP), allora sì, le chiavi saranno memorizzati ordinati, e quindi è possibile ottenere fette su una serie di chiavi per esempio A: A a A: Z - ma non necessariamente: A a qualsiasi: Z.

Ma, OPP non è garantito per distribuire uniformemente le chiavi attraverso i nodi e si potrebbe finire con "punti caldi" di troppi o troppo pochi tasti. Probabilmente vuoi usare Random Partitioning (RP) che distribuisce le chiavi memorizzandole per hash su tutti i nodi.

Tuttavia, poiché le colonne sono memorizzati ordinato, utilizzando i valori composito può essere piuttosto potente per l'accesso ai intervalli di dati.

Vai a questa question per i dettagli su interrogazione colonne composte utilizzando Hector.

Se necessario, i nomi delle colonne potrebbe quindi essere utilizzato come chiavi per fare query Multiget per le ricerche ulteriori.

Problemi correlati