データベース

デッドロックとは

2020/3/14

デッドロックとは

デッドロックってなに? デッドロックとは、お互いがロック解除待ち状態となり、どちらも処理が進行できなくなる状態のことをいいます。 共有資源に対して複数のアクセスが同時に発生しても問題なく動作できるようにする制御を「排他制御」といいます。排他制御には「ロック」や「ミューテックス 」「セマフォ」などの方式あり、デッドロックは「ロック」という方式を使用した際に発生する現象です。   資源に対してロックを掛ける場合、まずはじめに「資源」をロックします。ロックされた「資源」はロックが解除されるまで、他のタ ...

排他制御とは

2020/3/14

排他制御とは

排他制御って何? 排他制御とは、共有資源に対して複数のアクセスが同時に発生しても問題なく動作できる制御のことをいいます。 スポンサーリンク 例えば、共有資源である「共有ファイル」を複数の人が同時に変更した場合、排他制御されていれば、以下の図のように、データの整合性が保たれます。 共有ファイルに男性と女性が同時にアクセス(共有ファイルの内容は「AAA」) 男性は共有ファイルに「BBB」を追加 女性は共有ファイルに「CCC」を追加 結果、共有ファイルの内容は「AAA」「BBB」「CCC」となりデータの整合性が ...

悲観ロック(悲観的排他制御)とは

2020/3/14

悲観ロック(悲観的排他制御)とは

悲観ロックってなに? 悲観ロックとは、排他制御の代表的な方式の1つです。 排他制御とは共有資源に対して同時にアクセスしても問題なく動作できる制御のことをいいます。 交通機関で例えると、車が走る道路(交通資源)に信号機がない場合、事故が起こる危険性があります。そのため信号を設置して、事故が起きないように制御しています。 このように、道路に信号を設置して事故が起きないようにする制御と同じようなイメージです。 スポンサーリンク 排他制御をしていないとどうなるの? 排他制御は共有資源に対して同時にアクセスする可能 ...

2020/3/14

楽観ロック(楽観的排他制御)とは

排他制御とは 排他制御とは、共有資源に対して同時にアクセスしても問題なく動作できる制御のことを言います。 例えば下記のように「在庫が10個ある商品」を、2人が同時に購入するとします。 まずは購入可能であるか確認するために、「在庫テーブル」から残りの在庫数を取得します。 残りの在庫数は「10個」なので購入可能であることが分かります。   購入可能な状態なので購入を行います。お互い「在庫テーブル」の在庫を1つ減らします。 お互いが同時に操作した結果、在庫数が「9個」になってしまいました。このように共 ...

データベース(Database)とは

2020/3/14

データベース(Database)とは

データベースって何? データベースとは、データを格納する入れ物であり、データの追加、変更、削除が容易にできるのが特徴です。 スポンサーリンク 例えば、住民の氏名と電話番号が書かれているタウンページがあります。タウンページは本ですが、データベースはタウンページをシステム化(コンピュータで扱えるようにしたモノ)したイメージです。   上記の図は、日常的に利用するサイトの例です。 ショッピングサイトなどを利用する際、ユーザー登録を行います。ユーザー登録した個人情報は、データベースに保管されます。データ ...

トリガー (trigger)とは

2020/3/14

トリガー (trigger)とは

トリガー(trigger)って何? トリガーとは、何かをやることのキッカケの事をいいます。 例えば毎朝、目覚まし時計を使って起きている場合、起きるためのトリガーは目覚まし時計です。テレビを見るにはリモコンでテレビをつけます。この場合、テレビを見るトリガーはリモコンとなります。 このように何かをやることのキッケカのことをトリガーといいます。 スポンサーリンク トリガーはIT業界ではよく使われる言葉で、日常的に使われています。 このバッチのトリガーは? タイマーで毎日0:00時に動作します。   上 ...

© 2020 ITを分かりやすく解説