Was ist der kanonische Weg, viele-zu-viele-Beziehungen mit CQL3 zu modellieren? Lassen Sie uns sagen, dass ich zu Tische habenModellierung von Viele-zu-Viele-Beziehungen in Cassandra 2 mit CQL3
CREATE TABLE actor (
id text PRIMARY KEY,
given text,
surname text,
)
CREATE TABLE fan (
id text PRIMARY KEY,
given text,
surname text,
)
und ich möchte die Tatsache modellieren, dass ein Schauspieler viele Fan haben kann und jeder Fan viele Schauspieler wie kann.
Die erste Idee, die mir in meinem kam, war sets, wie in den folgenden (für Fans und umgekehrt) zu verwenden:
CREATE TABLE actor (
id text PRIMARY KEY,
given text,
surname text,
fans set<text>
)
<similarly for fan>
aber es scheint, sie sollen für kleine Mengen, und ich sehe keinen Weg, um zu überprüfen, ob ein Lüfter mit einem Aktor verbunden ist, ohne dass beide vollständig geladen sind.
Die zweite Wahl wäre ich fand zwei Mapping-Tabellen zu machen, die jeweils für jede Relation Richtung:
CREATE TABLE actor_fan (
text actor,
text fan,
PRIMARY KEY(actor,fan)
);
<similarly for fan_actor>
Würde dies die Möglichkeit geben, mich sowohl die Fan Liste der Schauspieler und überprüfen, ob eine bestimmte zu bekommen Person ist ein Fan eines bestimmten Schauspielers? Es gibt eine Menge Dokumentation über Cassandra, aber es ist oft mit älteren Versionen verwandt und es scheint viele Unterschiede zwischen den Versionen zu geben.
Danke für die Links. Verschiedene Versionen von Cassandra unterscheiden sich sehr in Bezug auf die Funktionen (Cassandra 1.2 und höher sieht aus wie ein komplett anderes Produkt als frühere Versionen), so dass es ziemlich einfach ist, unvollständige oder veraltete Dokumentation zu finden. –