Indexing Cassandra-是否可以更新表';s列,也用于物化视图';什么是PK?

Indexing Cassandra-是否可以更新表';s列,也用于物化视图';什么是PK?,indexing,cassandra,updates,data-modeling,cassandra-3.0,Indexing,Cassandra,Updates,Data Modeling,Cassandra 3.0,我想知道是否可以更改表的值,它也用于物化视图的PK? 如果可以的话,如果有人能解释一下它是如何工作的(插入和删除?) 例如,具有以下表格: CREATE TABLE users ( id uuid, username text, category int, created timestamp, PRIMARY KEY (username) //Show users ASC ) CREATE MATERIALIZED VIEW category_usern

我想知道是否可以更改表的值,它也用于物化视图的PK? 如果可以的话,如果有人能解释一下它是如何工作的(插入和删除?)

例如,具有以下表格:

CREATE TABLE users (
    id uuid,
    username text,
    category int,
    created timestamp,
    PRIMARY KEY (username) //Show users ASC
)

CREATE MATERIALIZED VIEW category_username AS
    SELECT username, category
    FROM keyspace.users
    WHERE username IS NOT NULL AND category IS NOT NULL
    PRIMARY KEY (category, username); //Show users by category ASC
然后我将用户的类别更改为与当前不同的类别:

UPDATE keyspace.users
    SET category = 'SomeUniqueInt'
    WHERE username = 'IAmGroot' IF EXISTS;
类别_用户名是否会相应更新


这是对此的评估。

与普通表类似,Cassandra将删除以前的记录,并从物化视图中插入带有用户名的更新类别。

在Cassandra中删除创建墓碑

  • 墓碑会占用空间,并会大大增加所需的存储量
  • 查询带有大量墓碑的表会导致性能问题,并会导致延迟和堆压力
  • 所以如果你经常更新用户类别,那么就会产生巨大的墓碑