Optimistic vs pessimistic locking — what’s the difference? | LetsGit.IT