【问题标题】:Cassandra Data Modelling issueCassandra 数据建模问题
【发布时间】:2019-06-29 16:17:03
【问题描述】:

你能帮我在下面的表格中建模吗?我被困在这里了。我的分区键是agent_id,聚类列是rowid。每个代理至少可以有 1000 到 10M 行,具体取决于代理的繁忙程度。我正面临忙碌的代理的大分区问题。

我在这里使用 SizeTieredCompaction.. 该表具有写入/读取(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)
)

【问题讨论】:

    标签: database cassandra nosql data-modeling datastax


    【解决方案1】:

    在 C* 中建模时多次出现此问题。

    1. 如果任何列(col_acol_b 等)与时间有关,并且您知道每个代理每天要插入多少(大约)行,我会强烈推荐year-month-day作为分区键(如果一天就够了,如果不够,就去小时或分钟)。

    2. 您可以对 agent_id + row_id 模 1M 进行某种散列(例如)。该哈希可以是分区键,您可以在插入和/或检索之前在应用程序中执行该哈希。这样您就知道如果您估计的行数是 10M,那么您的分区大小将是 10。

    【讨论】:

      猜你喜欢
      • 2017-10-13
      • 2018-12-18
      • 2015-12-25
      • 2015-04-09
      • 1970-01-01
      • 2019-09-02
      • 2018-06-16
      • 2018-07-10
      相关资源
      最近更新 更多