Unterstützt Apache Cassandra das Sharding?
Entschuldigen Sie, dass diese Frage trivial erscheinen muss, aber ich kann die Antwort nicht finden. Ich habe gelesen, dass Cassandra teilweise nach GAEs Big Table modelliert wurde, die in großem Maßstab zerbricht. Aber die meisten Dokumente, die ich gerade auf Cassandra finde, scheinen zu implizieren, dass Cassandra Daten nicht horizontal auf mehrere Maschinen verteilt, sondern viele Duplikate unterstützt. Dies würde bedeuten, dass Cassandra eine gute Anpassung an die hohe Verfügbarkeit darstellt, aber irgendwann zusammenbrechen würde, wenn das Schreibvolumen sehr hoch werden würde.Cassandra partitioniert die Knoten (wenn Sie es nicht teilen können, können Sie es nicht skalieren). Alle Daten für einen Cassandra-Cluster sind auf "den Ring" aufgeteilt und jeder Knoten im Ring ist für einen oder mehrere Schlüsselbereiche verantwortlich. Sie haben die Kontrolle über die Partitionierer (z. B. zufällig, geordnet) und wie viele Knoten auf dem Ring ein Schlüssel / Spalte sollte basierend auf Ihren Anforderungen repliziert werden.
Das enthält einen ziemlich guten Überblick. Grundlegende Architektur
Ich empfehle auch, das Dynamo White Paper zu lesen. Während Cassandra in vielerlei Hinsicht anders ist als Dynamo, stammen sie konzeptionell aus denselben Wurzeln. Probieren Sie es aus: Dynamo White Paper