【问题标题】:Cassandra Materialized views impactCassandra 物化视图的影响
【发布时间】:2023-03-26 19:58:01
【问题描述】:
  1. 想知道 mv 对基表的影响。它会减慢基表吗?它什么时候开始写入 mv 就像它同时写入基表和 mv 一样?
  2. 如果我有 local_quorum 的 CL 并且 RF=3,客户端是否必须等到它写入 mv 才能获得 ack。
  3. 基表和 mv 中涉及哪种锁会影响基表的延迟

【问题讨论】:

    标签: cassandra


    【解决方案1】:

    物化视图被视为experimental。 3.0、3.11 和 4.0 的下一个补丁版本将包括 CASSANDRA-13959,它将在创建物化视图时记录警告,并引入一个 yaml 设置,允许操作员禁用它们的创建。 所以最好避免使用它们。

    正如最初的建模课程所说,将数据复制到不同的表中,以便通过不同的分区键进行查询。

    但无论如何要回答你原来的问题

    1.想知道 mv 对基表的影响。它会减慢基表吗?它什么时候开始写入 mv 就像它同时写入基表和 mv 一样?

    对于物化视图,存在先读后写的开销。每次对基表的写入,都涉及从基表读取 MV 中相应分区键的内容。然后它进一步使用基于日志的方法写入 MV,以确保在应用于基表时写入也会在 MV 中提交。所以对于带有 MV 的表,写入会比较慢。

    2) 如果我有 local_quorum 的 CL 并且 RF=3,客户端是否必须等到它写入 mv 才能获得确认。

    客户端不会等待 MV 写入,因为它由 Cassandra 单独处理,基于日志从基表写入 MV。一致性保证仍然只适用于基表。

    3) 基表和 mv 中涉及哪种锁会影响基表的延迟

    Cassandra 不使用锁定,而是使用批处理日志来保证写入发生在基表中的 MV 上。

    关于对 MV 的性能影响的进一步reference

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-23
      • 2013-07-30
      • 2019-03-03
      • 2018-04-13
      • 1970-01-01
      • 2018-07-04
      • 2023-02-03
      相关资源
      最近更新 更多