2016-07-02 2 views
0

nehme an, dass ich verschiedene Kunden haben, jemand, der mir eine andere json Struktur senden dh:Cassandra Best Practices, wenn ich Speicher json brauchen

customer_1: {'name': ..., 'surname': ...}

customer_2: {'name': ..., 'address': ..., 'amount': ...}

customer_3: {'type': ..., 'amount': ..., 'color': ..., 'light': ...}

[...]

Betätig Allemal verwende ich MongoDB, um diese Daten zu speichern und mit ihnen zu arbeiten, aber aus irgendeinem Grund muss ich nach Cassandra migrieren. Wie werden diese Daten am besten gespeichert?

Option 1: Ich erstelle eine Spalte Familie/Tabelle für jeden Kunden so dass jeder Kunde hat seine Tabelle und Datenstruktur

Option 2: ich alle speichere in einer Tabelle, und jedes Mal, ich habe einen neuen Kunden (mit eine eigene json) Ich mache eine alter Tabelle, um neue Spalte zu erstellen?

Option 3: Ich speichere die json in einer Tabelle, wie Kartentyp, aber auf diese Weise kann ich nicht mit dem Einzelwert

Antwort

0

Option 2 klingt die kompatibel mit Cassandra arbeiten. Eine Tabelle kann alle Kunden als Zeilen verfolgen, und jedes Feld des JSON kann eine Spalte sein. Wenn Sie auf einen bestimmten Kunden zugreifen, spuckt er nur die Spalten aus, in denen er Daten hat. Leere Säulen sind in Cassandra praktisch frei.