ホーム > SQL Server, VB.NET, コンピュータ, データベース > SQL Server Tips 楽観的、悲観的データ更新とは

SQL Server Tips 楽観的、悲観的データ更新とは

2009 年 8 月 11 日

SQL Server Tips 楽観的、悲観的データ更新とは

photo by Kristi :) (is back!!)

VB.NETのDataSetで使用を奨励されているデータの更新をするためのモデルとして、オプティミスティック同時実行制御があります。

オプティミスティック同時実行制御
オプティミスティック(optimistic)とは直訳すると、「楽観的」という意味で、データを更新する際、ほかの誰かが更新しようとしているかもしれないが、とりあえず更新してしまおうという方式。

この為、競合する更新を時系列適に同時実行している場合、先に更新してしまったほうは成功するが、その後に更新を実行したほうは失敗する。

もうひとつの、悲観的データ更新とは、

ペシミスティック同時実行制御
ペシミスティック(pessimistic)とは直訳すると、「悲観的」という意味で、データを更新する際、更新処理が始まればロックをかけて、更新が終了すればロックを解除する。すなわち、最初から競合が発生しないようにする方式。

この為、競合する更新を時系列適に同時実行している場合、更新を始めた人がロックをはずすまで、その後の更新は実行することができない。

オプティミスティック同時実行制御に違反している(すでに更新されているか)か調べるには、DataSetでは2つの方法が使用されています。

  • 行のすべての列の元の値が、データベース内の値とまだ一致しているかどうかの検証
  • TimeStamp列の値を比較して、この値が一致するかどうかの検証

DataTableにTimeStamp値が含まれない場合、すべての列の元の値を比較検証されます
DataTableがTimeStamp値を含む場合、TimeStamp値を使用して比較検証されます

関連するエントリー

    None Found

SQL Server, VB.NET, コンピュータ, データベース , , , , , ,

  1. コメントはまだありません。
  1. トラックバックはまだありません。