2016-04-16 14 views
1

Im documentation about indexes lesen wirKlärung der cassandra Dokumentation

Sie einen Index in diesen Situationen nicht verwendet werden:

  • Auf hoher Kardinalität Spalten, weil Sie dann eine riesige Menge von Datensätzen für eine kleine Abfrage Anzahl der Ergebnisse. Siehe Probleme mit einem hohen Kardinalitätsspaltenindex unten.

Was ist High-Mächtigkeit in präzisere Begriffe 100, 1000, mehr?

Antwort

2

Dies ist eine Frage, aber ich kann Ihnen einige Richtlinien geben. Sekundärindizes dienen der Bequemlichkeit und nicht der Geschwindigkeit. Das Suchen nach Spaltenwerten kann etwas sein, das Sie in Ihrer Abfrage unterstützen müssen, und das wird es für Sie erhalten. Die nächste Frage ist, wie langsam Sie tolerieren können. Wenn Sie einen kleinen Cluster und mehrere Millionen Datenpartitionen haben, werden niedrige Zahlen nicht so viel bewirken.

Wenn Sie ein Verhältnis von eindeutigen Werten pro Zeilenanzahl berücksichtigen, möchten Sie, dass die Geschwindigkeit der Eins-zu-eins-Schleife so nahe wie möglich ist.

+0

Könnten Sie diese Situation berücksichtigen? Ein Nachrichtenservice. Eine Nachricht hat eine sending_user_id (PK) und eine Menge receiving_user_ids (indiziert). Würden Sie in Erwägung ziehen, für alle an einen Benutzer gesendeten Nachrichten einen sinnvollen Anwendungsfall abzufragen? Ich denke schon, weil die Anzahl der receiving_user_ids meistens klein ist. – Lukasz