【问题标题】:how Cassandra read one column in one partition fast?Cassandra 如何快速读取一个分区中的一列?
【发布时间】:2021-11-12 03:27:17
【问题描述】:

创建表(id int 主键, c1 int, c2 int, ....c1000 int);

我知道RDBMS连续存储这一行的所有列。如果我只想查询一行的c400,我可以快速定位该行,但必须读出整个文件然后找到c400的值,因此当我要查询表的所有 c400 值时,这意味着将读取所有列和所有行。

如果我在 cassandra 中创建同一个表并将“id”列指定为分区键。我知道一个分区中的 c1,c2,...c1000 将存储如下:

{c1:1, c2:123, c3:45, ....., c1000: 10}

这是 k-v 存储结构,但仍然是列连续存储。当我想读取一个分区的 c400 列时,cassandra 如何在不扫描其他列的情况下快速读取它?

【问题讨论】:

    标签: cassandra cassandra-3.0 cassandra-2.0


    【解决方案1】:

    它扫描列,这就是为什么建议避免使用宽行。您的行越宽,读取速度就越慢。宽行也会给堆带来更大的压力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-27
      • 2020-05-15
      • 2020-01-23
      • 2017-03-15
      • 2018-06-07
      • 2018-11-01
      • 1970-01-01
      • 2017-07-19
      相关资源
      最近更新 更多