0
有小表我想限制在Cassandra中的單個分區。我嘗試了各種常量作爲分區鍵,但Cassandra拒絕爲無效。例如primary key(1, other_column)
,primary key(true, other_column)
,primary key('1', other_column)
。有沒有辦法將表限制爲單個分區而不向表中添加虛擬常量列?如何在Cassandra中定義常量分區鍵
有小表我想限制在Cassandra中的單個分區。我嘗試了各種常量作爲分區鍵,但Cassandra拒絕爲無效。例如primary key(1, other_column)
,primary key(true, other_column)
,primary key('1', other_column)
。有沒有辦法將表限制爲單個分區而不向表中添加虛擬常量列?如何在Cassandra中定義常量分區鍵
不能定義常量的值作爲分區鍵或任何其他列
而是定義一個普通的列(即分區)作爲分區鍵,每次插入/更新或刪除使用一個恆定值的時間。
例子:
讓我們創建一個表名爲partition
列,並作爲分區鍵。
現在CRUD操作:
INSERT INTO small_table(partition, other_column) VALUES(1, ?);
SELECT * FROM small_table WHERE partition = 1;
UPDATE small_table SET other_column = ? WHERE partition = 1;
DELETE FROM small_table WHERE partition = 1;
注:這是一個不好的設計,你的數據不會跨集羣分佈。所有您選擇,插入,更新,刪除操作將在包含此數據的主機和副本上執行