データベースのロックとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > データベースのロックの意味・解説 

データベースのロック

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/26 22:08 UTC 版)

ロック (計算機科学)」の記事における「データベースのロック」の解説

データベースでは、ロックトランザクション同時性保証する手段として使うことが出来る。すなわち、トランザクション処理並行して行われるとき(インタリービング式トランザクション)、ツーフェーズロック使ってトランザクション並行実行直列化されたトランザクション等価であることを保証する。しかし、データベース内のロック副作用としてデッドロック発生することがあるデッドロックロック順序事前に定義しておくことで防いだり、待ち状態グラフ英語版)を使って検出したりする。データベース一貫性のためにロックを使う以外の手段として、完全に順序決定されるグローバルなタイムスタンプ使用することでデッドロックを防ぐこともある。 データベース上の複数ユーザー同時並行要求対応するための機構があり、更新しそこなった不正な情報読み取らせることを防ぐことを目的としている。この場合ロック悲観的ロック楽観的ロック分けられる悲観的ロック (Pessimistic locking) あるユーザーがあるレコード読み、それを更新しようとして、そのレコード排他ロックを置き、他のユーザーがそのレコード操作することを防ぐ。すなわち、他のユーザーはそのロック解放されるまで当該レコード操作することができないこの方式には排他長時間にわたるという欠点があり、システム全体応答性悪くなるデータ競合激し環境で主に使用するロックによってデータ保護することによるコストが、衝突起きてトランザクションロールバックするコストより低い場合である。ロックをかけている時間は短いほどよい楽観的ロック (Optimistic locking) 複数ユーザー同時にデータベースアクセスしたとき、各ユーザー最初に読み取ったレコード内容コピー保持する。あるユーザーがそのレコード更新しようとしたとき、そのレコード読み取ってから更新しようとするまでの間に他のユーザーがそのレコード更新しなかったかどうかを調べる。もし他者によって更新されていたら、今回更新要求無視されエラー返され更新やり直し促されるロック必要な区間が短いので、データベース性能向上する更新することが少なデータベースでは効率的である。更新同時に要求されることが多いと頻繁に更新失敗するという欠点がある。 データ競合少な環境適している。.NET では、長期間ロック保持するのが現実的でないモバイルアプリケーションなどでこの戦略をよく使っている。レコードロックを保持している間はデータベースサーバとのコネクション維持する必要があるが、モバイル環境ではそれを保証できないためである。

※この「データベースのロック」の解説は、「ロック (計算機科学)」の解説の一部です。
「データベースのロック」を含む「ロック (計算機科学)」の記事については、「ロック (計算機科学)」の概要を参照ください。

ウィキペディア小見出し辞書の「データベースのロック」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「データベースのロック」の関連用語

データベースのロックのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



データベースのロックのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのロック (計算機科学) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS