一图读懂MySQL并行复制发展史。_时间戳


下面通过一个案例,用通俗易懂的方式来解释这两种复制模式。


COMMIT_ORDER(时间戳顺序模式):

想象你在一家餐厅排队点餐:

  • 不管你点什么菜,都必须按照取号的顺序来处理
  • 比如:张三8点取号、李四8:05取号、王五8:10取号
  • 即使张三点了牛肉面、李四点了炒青菜、王五点了饺子(完全不冲突的菜品)
  • 厨房也必须按照8点、8:05、8:10的顺序来严格处理
  • 这就像一个严格的队列,先来先服务,不管具体点的是什么


WRITESET(数据集模式):

现在想象一个更智能的餐厅系统:

  • 张三点了牛肉面(使用面档的设备)
  • 李四点了炒青菜(使用炒菜锅)
  • 王五点了饺子(使用蒸笼)
  • 因为他们点的菜用的是不同的设备,所以可以同时制作
  • 但如果张三和李四都点了炒青菜(需要用同一个炒锅),就必须按顺序来处理


主要区别:

  1. COMMIT_ORDER就像传统餐厅,严格按照取号顺序处理,即使是完全不相干的菜品也要排队
  2. WRITESET就像现代化餐厅,只要不使用同一个设备(不修改同一个数据),就可以并行处理