Ich habe die Dokumentation von Cassandra über die internen Schritte gelesen, die beim Abfragen von Daten ausgeführt werden. Es sieht so aus, als ob Cassandra sich bei der Verarbeitung von Abfragen auf die Partitionierer- und Replikationsstrategie verlässt. Ich bin immer noch verwirrt, dass der Partitionierer den Partitionsschlüssel kennen muss. Wenn die Abfrage über den Paritition Key verfügt, sieht der interne Abfrageprozess unkompliziert aus. Wenn die Abfrage jedoch eine Ergebnismenge anstelle einer deterministischen Zeile wie unten erwartet.
SELECT * FROM <table>
WHERE
Woher weiß der Koordinator in diesem Fall, an welche Knoten die Anforderungen gesendet werden sollen, wenn in der Klausel kein Primärschlüssel angegeben ist ?Wenn mehrere Zeilen zurückgegeben werden, die auf verschiedene Knoten verteilt sein können, wie werden diese Zeilen aggregiert und an den Client zurückgegeben?