COW:写时复制,MOR:读时合并,Delete+Insert:保证同一个主键下仅存在一条记录,将更新操作转换为Delete操作和Insert操作
COW和MOR的对比如下图,而Delete+Insert在StarRocks主键模型中用到。
目前COW、MOR在三大开源数据湖项目的使用情况,如下图。
写入时复制【Copy-On-Write COW】
适用场景
- 频繁读取、不频繁写入/更新的表
- 大批量更新的表
核心思想
使用 COW,当更改以删除或更新一个或多个特定行时,将复制包含这些行的数据文件,但新版本具有更新的行。
这会使写入速度变慢,具体取决于必须重写的数据文件数,这可能导致并发写入发生冲突,并可能超过重试次数和失败。
如果更新大量行,COW 是理想的选择。但是,如果只更新几行,仍然需要重写整个数据文件,这使得小的或频繁的更改变得昂贵。
在读取端ÿ