楽観的なデータベース更新処理 いま「データベース更新のパターンその3」で示した、データベースをロックしないで同時実行を制御する方式は「オプティミスティック同時実行制御」と呼ばれる(オプティミスティック(optimistic)は「楽観的な」という意味)*1。ほかのだれかが更新しようとしているかもしれないけれど、取りあえず更新を実行してしまおうという方式だ。 *1 「データベース更新のパターンその1」もデータベースをロックしないためオプティミスティック同時実行制御の一種といえる。ちなみに、データベースのロックを用いるパターン「その2」はペシミステック同時実行制御(悲観的同時実行制御)と呼ばれる。ロックしているため更新は失敗しない。 データベースをロックせずに「楽観的」に更新しているので、当然ながら同時に更新を実行しようとしている競合する処理がほかにある場合には、それらのいくつかは失敗する。それ