你能帮我做下桌的模型吗?我被困在这里了。我的分区密钥是 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)
)
1条答案
按热度按时间bbuxkriu1#
这个问题在c*中建模时经常出现。
如果任何一列(
col_a
,col_b
,等等)与时间有关,如果您知道每个代理每天要插入多少(大约)行,我强烈建议year-month-day
作为分区键(如果一天足够,则转到小时或分钟)。您可以对代理\u id+行\u id模1m进行某种哈希运算(例如)。该散列可以是分区键,在插入和/或检索之前在应用程序中进行散列。这样您就知道,如果您估计的行数是10m,那么分区的大小将是10。