物化视图被认为是实验性的.3.0,3.11和4.0的下一个补丁版本将包括CASSANDRA-13959,它将在创建物化视图时记录警告,并引入允许操作员禁用其创建的yaml设置.所以最好避免使用它们.
正如原始建模课程所述,将数据复制到不同的表中,以便通过不同的分区键进行查询.
但无论如何要回答你原来的问题
1.想知道mv对基表的影响.它会减慢基表的速度吗?什么时候开始写入mv,就像写入基表和mv一样?
使用物化视图,在写入之前会有读取开销.每次写入基表都涉及从基表读取有关MV中相应分区键的内容.然后进一步使用基于日志的方法写入MV,以确保应用于基表的写入也在MV中提交.因此,对于具有MV的表,写入会更慢.
2)如果我有CL的local_quorum和RF = 3,客户端必须等到写入mv才能得到确认.
客户端不会等待MV写入,因为它由Cassandra单独处理,基于对基表的MV写入.一致性保证仅适用于基表.
3)基表和mv中涉及哪种锁会影响基表的延迟
Cassandra不使用锁定,而是使用批处理日志来保证从基表写入MV.
有关对MV的性能影响的进一步参考.