Viewed 48
- 部分列更新是如何知道要更新的key是否已经存在呢。读的元数据?如果key在冷数据,会把冷数据那一行读出来?
- 如果更新的key不存在,新增行,还会有写放大吗?
- 开启行存感觉是天坑,写入耗时翻倍,存储翻好几倍。
- 会通过存量数据上的主键索引查key是否存在,如果查到了会把那一行数据中需要补齐的列数据读出来,如果有行存,只用从行存列读一次,如果需要的数据不在本地cache中,会从远端对象存储读。
- 如果更新的key不存在,新增行,会有读放大(会在主键索引里查一次)和写放大(需要把剩下的列用默认值或null填充形成完整的一行)。
- 开启行存后会有写入IO和存储成本增加。存储成本和数据特征能相关。