Cassandra具有行缓存以提高读取性能。我有一个用例,其中一个表有20个字段,其中只有2个字段(f1和f2)更新/更改频繁的任何给定的行,而其他字段非常静态。cassandra和行缓存更新
如果行高速缓存最初包含特定主密钥K1行值(整行),在阅读本行(整个)将是快速的。后来如果我更新这一行的f1和f2字段(假设f1和f2的新值在memtable中 - 在内存中),那么
1)将读取此行(整行)同样快,即将有任何磁盘访问?
2)将读取只是f1和f2字段(值memTable中),此行是快?
3)将读取该行(除f1和f2其他的只是其他值 - 这并没有改变/修改/更新的长,是行高速缓存)要快?
感谢您的快速反应。在上面的情况(1)中,没有效率低下。 Cassandra可以将行的2个字段标记为无效,并且当它必须返回一行时,它可以从memtable中获取2个更改的字段,更新行缓存并返回行(将会很快) - 是否有任何计划让cassandra进行此优化。还有什么意思呢 - 是几微秒?慢的意思是 - 8ms到40ms? – sunillp
cassandra的正常读取延迟可能是毫秒级的,只要您有一个合理调整的堆和小(高效)的分区大小。 –