Ich bin dabei, das beste Design für unsere Cassandra-Installation zu bewerten.
Im Internet gibt es nicht so viele Informationen über die Verwendung der ersten beiden Zugriffsebenen, die Cassandra bereitstellt - Schlüsselbereiche und Spaltenfamilien .
Ich frage mich, ob und wie hoch die Strafen sein werden, wenn Sie eine große Anzahl von Schlüsselbereichen oder Spaltenfamilien (> 10.000) erstellen.
Ein alter Blog-Beitrag schlug irgendwo vor, dass Cassandra Speicher für jede Spaltenfamilie reserviert. Der Artikel befasste sich mit der Version 0.6 und die aktuelle Version ist 1.0. Ist das immer noch der Fall und ein echtes Problem?
Was sind die Strafen für die Verwendung von vielen tausend Spaltenfamilien oder Keyspaces in Cassandra?
Antworten:
Cassandra 1.0 verwendet mindestens 1 MB Heap pro CF. 1000 oder 2000 CFs sind für typische Heap-Größen in Ordnung, 10000 jedoch wahrscheinlich nicht. JVM GC funktioniert schlecht mit sehr großen Haufen; Ich empfehle unter 8 GB zu bleiben.
quelle
Das Starten eines Cassandra-Knotens dauert viel länger, wenn Sie viele Spaltenfamilien haben. Dies wirkt sich auch auf die verwendete Speichermenge aus.
Daher wird diese Speichermenge nicht für Zeilen- / Schlüssel-Caches und die Indizierung verwendet. Die Leistung kann sich je nach Hardware Ihrer Knoten weiter verschlechtern, wenn Sie weiterhin Spaltenfamilien hinzufügen.
quelle