Cassandra: Auswahl eines Partitionsschlüssels

Ich bin unschlüssig, ob es besser ist, performance-Weise, ist eine sehr gängige Spalte Wert (wie Country) als partitionsschlüssel für eine zusammengesetzte primary key-oder einen ziemlich einzigartigen Spalte Wert (wie Last_Name).

Blick auf Cassandra 1.2 Dokumentation über Indizes ich dieses:

"Wenn Sie einen index verwenden:
Cassandra ' s built-in-Indizes sind am besten auf einem Tisch
viele Zeilen, die den indizierten Wert. Mehr einzigartige
Werte, die es in einer bestimmten Spalte, die mehr Aufwand Sie
haben, im Durchschnitt, Abfragen und verwalten des index.
Zum Beispiel,
angenommen, Sie hätten eine user-Tabelle mit einer Milliarde Nutzer und wollte mal schauen
Benutzer, die durch den Staat in der Sie lebten. Viele user teilen sich die gleiche
Spalte Wert für den Status (wie z.B. CA, NY, TX, etc). Dies wäre ein
guter Kandidat für einen index.
"

"Nicht zu verwenden wenn ein index:
Nicht einen index verwenden, um der Abfrage eine große Menge an Datensätzen für einen kleinen
Anzahl der Ergebnisse. Zum Beispiel, wenn Sie erstellen einen index für eine Spalte
das hat viele verschiedene Werte, eine Abfrage zwischen den Feldern entstehen
viele sucht für sehr wenige Ergebnisse. In der Tabelle mit einer Milliarde Nutzer,
suchen Benutzer anhand Ihrer E-Mail-Adresse (ein Wert, der in der Regel
für jeden Benutzer eindeutig ist), anstatt von Ihrem Zustand, ist sehr wahrscheinlich
ineffizient ist.
Es wäre wahrscheinlich effizienter, die manuell pflegen
die Tabelle wird als form eines index anstelle der Verwendung der Cassandra
built-in-index. Für Spalten mit eindeutigen Daten, ist es manchmal
feine Leistung-klug, um einen index für die Bequemlichkeit, solange der
Abfrage der Lautstärke, um die Tabelle mit einer indizierten Spalte ist Moderat und nicht
unter der ständigen Last."

Blick auf die Beispiele von CQL SELECT für

"Abfragen zusammengesetzte Primärschlüssel und Sortieren von Ergebnissen", ich sehe etwas wie eine UUID verwendet wird als partition key... was darauf hindeuten würde, dass es besser, etwas ziemlich einzigartiges?

Cassandra: Auswahl eines Partitionsschlüssels

InformationsquelleAutor der Frage andandandand | 2013-08-11

Schreibe einen Kommentar