下面通过一个案例,用通俗易懂的方式来解释这两种复制模式。
COMMIT_ORDER(时间戳顺序模式):
想象你在一家餐厅排队点餐:
- 不管你点什么菜,都必须按照取号的顺序来处理
- 比如:张三8点取号、李四8:05取号、王五8:10取号
- 即使张三点了牛肉面、李四点了炒青菜、王五点了饺子(完全不冲突的菜品)
- 厨房也必须按照8点、8:05、8:10的顺序来严格处理
- 这就像一个严格的队列,先来先服务,不管具体点的是什么
WRITESET(数据集模式):
现在想象一个更智能的餐厅系统:
- 张三点了牛肉面(使用面档的设备)
- 李四点了炒青菜(使用炒菜锅)
- 王五点了饺子(使用蒸笼)
- 因为他们点的菜用的是不同的设备,所以可以同时制作
- 但如果张三和李四都点了炒青菜(需要用同一个炒锅),就必须按顺序来处理
主要区别:
- COMMIT_ORDER就像传统餐厅,严格按照取号顺序处理,即使是完全不相干的菜品也要排队
- WRITESET就像现代化餐厅,只要不使用同一个设备(不修改同一个数据),就可以并行处理