2016-07-02 11 views
0

は、私は私の異なるJSON構造を送っ異なる顧客、誰もがあるとし すなわち:カサンドラのベストプラクティスは、

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

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

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

[...]

Actu私はMongoDBを使ってこのデータを保存して使用しますが、何らかの理由でCassandraに移行する必要があります。 このデータを保存するベストプラクティスは何ですか?

オプション1:私はすべての顧客のための列ファミリ/テーブルを作成しますので、どの顧客がそのテーブルやデータ構造を有している

オプション2:私は、テーブル内のすべて保存し、すべての時間は、私が(新たな顧客を持っています独自のjson)私は新しい列を作成するために、alter tableを作成しますか?

オプション3:私はマップタイプとして、一つのテーブルでJSONを格納しますが、このように私は

答えて

0

オプション2は、カサンドラと最も互換性が聞こえる単一の値で動作することはできません。 1つの表はすべての顧客を行として追跡でき、JSONの各フィールドは1列にすることができます。特定の顧客にアクセスすると、その顧客がデータを持つ列だけが払い戻されます。空の列はカサンドラで事実上自由です。