07:00:00ツイート印刷コメントを書く排他制御とは?データベースでは、複数のユーザが同時に更新処理を実行した場合も、データに矛盾がおきないようにするために排他制御という機能を備えています。更新をしようとするトランザクションが更新している間は、他のトランザクションが更新目的で同じデータにアクセスしようとしても、アクセスできません。排他制御では「データに鍵をかける」という意味で、ロックという仕組みを使います。データへのアクセスが少しでも早かったほうのトランザクションがロックを先に取得し、解除するまで主導権を握ります。データの同時更新ロックがかかっているデータに対してアクセスできるのは、ロックをかけたトランザクションだけですから、後からアクセスしたトランザクションはしばらく待たされます。トランザクションがロックを解除してはじめて、解除待ち状態のトランザクションはアクセスができるようになります。今回は、前回の続きでSQLを使ったデータベースの操作とトランザクションについてお話してきました。トランザクションについては、その特性のおかげでデータベースへの同時実行性やデータの復旧が可能になっているわけですが、今回の記事を書くにあたって本当に奥が深いなぁと実感しました。記事ではなるべく簡単にとお話してしまいましたが、もし興味が湧いちゃいましたら、是非いろいろと勉強してみてください。SI企業にて、約8年システム開発に携わる。日本オラクルに営業として入社。エンジニアにコンバートされ、Java,SOA,IDM製品を担当。連載もいよいよSQLの話に入ってきました。Oracleデータベースはインストールが難しいって聞いた?そんな話は過去の話です。10gをインストールしました)。オラクルでは、こうした都市伝説を検証しています。permission.×このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。