Unterstützt Apache Cassandra Sharding?Unterstützt Cassandra Sharding?
Entschuldigen Sie, dass diese Frage trivial erscheinen muss, aber ich kann nicht die Antwort 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.
Ok, Schlüsselfrage: Kann Cassandra mit größeren als und weniger als Operatoren in Olog (n) Zeit abgefragt werden? –
Dies hängt davon ab, ob Sie Random oder Ordered Partitioner verwendet haben. Random Partitioner wird gleichmäßig über die Knoten verteilt, daher ist es möglich, dass eine Bereichsabfrage die meisten/alle Knoten treffen muss, um die Daten abzurufen ... also vielleicht O (n). Mit Ordered Partitioner kann Cassandra genau bestimmen, welche Knoten abgefragt werden und alles auf dem Ring dazwischen zurückgeben. Dies geschieht jedoch auf Kosten einer gleichmäßigen Datenverteilung (d. H. Hallo Hotspots). Es gibt Möglichkeiten, Bereichsabfragen auszuführen (z. B. erstellen Sie einen eigenen Index, bei dem der Zeilenschlüssel eine Spalte ist). Dies rechtfertigt eine andere Frage/Diskussion an sich. –
Werden die partitionierten Daten auf allen Knoten repliziert, die für die Replikation eingerichtet sind? – user3587180