cassandra数据建模问题

rdrgkggo  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(414)

你能帮我做下桌的模型吗?我被困在这里了。我的分区密钥是 agent_id 聚类列是 rowid . 根据代理的繁忙程度,每个代理至少可以有1000到10m的行。我正面临我繁忙的代理的大分区问题。
我这里用的是sizetieredcompression。。表中有写/读(70/30比率),表中也有删除 agent_id .

CREATE TABLE IF NOT EXISTS XXX (
 agent_id UUID,
 row_id BIGINT,
 col_a TEXT,
 col_b TEXT,
 col_c TEXT,
 PRIMARY KEY (agent_id,row_id)
)
bbuxkriu

bbuxkriu1#

这个问题在c*中建模时经常出现。
如果任何一列( col_a , col_b ,等等)与时间有关,如果您知道每个代理每天要插入多少(大约)行,我强烈建议 year-month-day 作为分区键(如果一天足够,则转到小时或分钟)。
您可以对代理\u id+行\u id模1m进行某种哈希运算(例如)。该散列可以是分区键,在插入和/或检索之前在应用程序中进行散列。这样您就知道,如果您估计的行数是10m,那么分区的大小将是10。

相关问题