2017-07-09 6 views
1

私はテーブルuser_activityを持っています。カサンドラデータモデリング:動的列

user_activity 
{ 
user_id text 
user_name text 
email_id text 
password text 
activity1 text} 

動的に列を追加できますか?

for ex - 

user1(user_id : Rowkey) 

user_name, emai_id, password, activity1, activity2 

user2(user_id : Rowkey) 

user_name, emai_id, password, activity1, activity2, activity3 

user3(user_id : Rowkey) 

user_name, emai_id, password, activity1 

アクティビティは任意の数にすることができるためです。事前に

感謝:)

+0

これは不可能であるキーのマップ最大数カサンドラでは、収集(マップ)サイズの小さなを保持以前はCQLを使用していましたが、それをサポートするために使用されていましたが、データ型の列 –

答えて

1

あなたは、例えばMap

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

CREATE TABLE user_activity (
    user_id text primary key, 
    emai_id text, 
    password text, 
    activity map<text,text> 
); 

インサート:

INSERT INTO user_activity (user_id, emai_id, password, activity) VALUES ('1', '[email protected]','password1', {'activity1' : 'test activity 1', 'activity2' : 'test acitivty 2' }); 

更新:

UPDATE user_activity SET activity['activity1'] = 'updated test activity 1' where user_id = '1'; 

削除:

DELETE activity['activity2'] FROM user_activity WHERE user_id = '1'; 

注:65535と値サイズ:65535