2017-08-11 18 views
0

私はCassandra COLLECTIONSを使わないように言っているブログをたくさん読んだ。 UPDATE操作でもトゥームストーンが作成されるため、パフォーマンスに影響します。そして、それは過剰な墓石のために適用の死を引き起こす可能性があります。カサンドラコレクションを使用しても問題ありませんか?

セカンダリ携帯電話番号などの更新されていないデータやユーザーのメールは保存してもよろしいですか? など?

またはVarcharに格納されているCSVまたはJSONを使用してコレクションを避ける必要がありますか?

答えて

3

はい、あなたは、コレクションのサイズの制限があります覚えておいてくださいコレクション

を使用することができます。

  • コレクション(リスト):コレクションサイズ:2B(2^31)。値サイズ:65535(2^16-1)(Apache Cassandra™2.1以降、ネイティブプロトコルv3を使用)
  • コレクション(セット):コレクションサイズ:2B(2^31);値サイズ:65535(2^16-1)(Apache Cassandra 2.1以降、ネイティブプロトコルv3を使用)
  • コレクション(Map):コレクションサイズ:2B(2^31);キーの数:65535(2^16-1);値のサイズ:65535(2^16-1)(アパッチカサンドラ2.1以降では、ネイティブプロトコルV3を使用して)

そして墓石の作成、テストのために、あなたがテーブル

CREATE TABLE playlists (
    id uuid, 
    song_order int, 
    tags set<text>, 
    PRIMARY KEY(id, song_order) 
); 

あなたの場合があるとしましょう墓石は

UPDATE playlists SET tags = {'1973'} 
    WHERE id = 62c36092-82a1-3a00-93d1-46196ee77204 AND song_order = 1; 

を作成されます。しかし、あなたは以下の更新ステートメントを使用している場合、墓石

を作成しません、以下の更新ステートメントを使用します
関連する問題