2012-03-31 17 views
0

ich bin neu in Cassandra db. brauche Hilfe beim Erstellen eines Datenmodells. Ich habe db in PostgraySQL jetzt möchte ich zu Cassandra wechseln (Installation abgeschlossen).makeing datenmodell in cassandra db

DB name = Automation

Tabelle = Geräteliste Felder = Appliance-ID (Autoinkrement, int), Gerätenamen (varchar), Appliance add (boolean)

Table = Appliance Keys Felder = Geräteschlüssel (varchar), Gerät ID (Fremdschlüssel Gerätelisten-Tabelle)

Danke

+1

Cassandra muss basierend auf Ihren Abfrage- [sowohl Lesen als auch Schreiben] Mustern modelliert werden, und zwar unter Berücksichtigung des Schemas. Es gibt keine Möglichkeit, Join-Foreign-Keys oder viele andere SQL-Features zu verwenden oder zu verwenden. Also, listet das Suchmuster auf, um eine gültige Antwort zu erhalten. – Tamil

+0

@Tamil: okay danke –

+0

@Tamil: wenn Sie ein paar grundlegende Code von Cassandra haben. plz geben .. cassandra ist neu für mich ... :) –

Antwort

0

ein Schlüsselraum Automation Haben

Dann Spalte Familien Kiste 2

Appliance List Fields 

Appliance Keys Fields 

die Spalten entsprechend

Appliance Listenfelder Spalten

appliance id 

appliance name 

appliance add 

P. S. haben erstellen benannt In Cassandra gibt es kein eingebautes Auto-Inkrement. Sie müssen den Zähler verwenden.

+1

Spaltenfamilien haben Unterspalten oder Unterspaltenfamilien ... und Spalte haben nur Schlüssel und Wert rechts? –

+0

Rechts Ankur Patel –

+0

Dies ist kein richtiges Datenmodell, das Cassandra für diesen Anwendungsfall verwendet – Tamil

0

Wie Karthkit sagte, können Sie die zwei Tabellen in zwei Spaltenfamilien machen. Die Spalten werden zu den Spaltenfamilien wie jeweils eine Spalte hinzugefügt. Da es in Cassandra keine Fremdschlüssel gibt, müssen Sie entscheiden, wie Sie mit dem Fremdschlüssel umgehen. Eine andere Lösung besteht jedoch darin, die beiden zu einer einzigen Spaltenfamilie zusammenzuführen. Sie müssen mit dem 1: M aufgrund des Fremdschlüssels umgehen. Wenn es sich um eine Eins-zu-wenige-Beziehung handelt, können Sie Appliance-Listenfelder zu einer Spaltenfamilie machen und die Appliance Keys-Felder in diese Spalte hochladen. Es wird mehrere Appliance-Schlüsselfelder geben. Wenn es sich um ein Vielfaches handelt, erstellen Sie die Appliance Keys-Felder als Spaltenfamilie und reduzieren Sie Appliance List Fields in die Spaltenfamilie. In diesem Fall wird es redundant in jedem Appliance Keys Feld gespeichert.