小编gor*_*uta的帖子

Cassandra seconday指数vs物化观点

我正在为Cassandra 3.0+建模我的桌子.目标是构建一个存储用户活动的表,这是我到目前为止所做的:( userid来自另一个数据库Mysql)

CREATE TABLE activity (
    userid int,
    type int,
    remoteid text,
    time timestamp,
    imported timestamp,
    visibility int,
    title text,
    description text,
    img text,
    customfields MAP<text,text>,
PRIMARY KEY (userid, type, remoteid, time, imported))
Run Code Online (Sandbox Code Playgroud)

这是我使用的主要查询:

SELECT * FROM activity WHERE userid = ? AND remoteid = ?;
SELECT * FROM activity WHERE userid = ? AND type = ? AND LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

现在我需要visibility在第二个查询上添加列.所以,根据我所学到的,我可以在二级索引物化视图之间进行选择.这是事实:

  • 这里我每个用户有一个分区,里面有数千行(活动).
  • 总是在我的所有查询中使用分区键(userid)来访问数据.
  • 全球活动数量达到3000万,成长期不断增加.
  • visibility 列具有低基数(仅3值)并且可以更新,但很少.

那我应该选择什么?物化视图或索引?我知道具有低基数的索引是不好的选择,但我的查询总是包括分区键和限制,所以可能不是那么糟糕.

cassandra

10
推荐指数
1
解决办法
3096
查看次数

标签 统计

cassandra ×1