在教科书中学习事务基础与并发控制
定义两阶段提交(2相コミットメント)是为使跨多个数据库的事务整体确定或整体取消,分准备和确定两个阶段推进提交的步骤。
解说统筹全局的协调者(調整役)在第1阶段询问各数据库是否已做好确定的准备,各数据库先把更新置于随时可以确定的状态,再答复可否。只有全部答复可以时,才在第2阶段指示确定;只要有一个不可以,就指示全部数据库回滚。这样就能避免某个站点已经确定、另一个站点却被取消的不一致。
类比就像团购:先等所有参与者都回复“能付款”,再一起扣款;只要有一个人付不了,就谁的钱也不扣。
记忆钩子日语名称里的“相”是 phase(阶段)的译词。第 1 相询问,第 2 相决定,把数字和动作配成对来记。