redo log, undo log中的”do” 都是idempotent的

redo log, undo log中的"do" 都是idempotent的.

所谓的redo, 就是把数据改成log entry所记录的新值;不管故障发生时数据是不是已经为新值,在恢复时把数据设成新值总是无害的,因为“设为新值”这个操作是idempotent的。

undo也一样,即把数据改成旧值。

脑子里要建立这个意识,redo/undo其实都是赋值操作,而不能是“增1”、“减1”这种non-idempotent操作。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.