タグ

2017年12月24日のブックマーク (2件)

  • MySQL を使ってリレーショナルデータベースの悲観的・楽観的排他制御を試してみる - CUBE SUGAR CONTAINER

    リレーショナルデータベースの排他制御は、複数のトランザクションが同時に同じリソース (テーブル・行) に対してアクセスしても内容の整合性が崩れないようにするために行うもの。 また、排他制御のやり方には悲観的と楽観的のふたつがある。 悲観的排他制御は、あらかじめ対象のリソースを自分以外のトランザクションから操作できないように排他ロックをかけることで処理をアトミックにして実現する。 それに対して楽観的排他制御では、リソースを操作する際にそれが別のトランザクションから変更されていないことをバージョン番号やタイムスタンプを使って確認することで実現する。 今回はこのふたつの排他制御について MySQL を使って試してみることにする。 尚、今回使用する環境は次の通り。 MySQL はバージョン 5.6.26 を使っている。 $ mysql -u root -e "show variables like

    MySQL を使ってリレーショナルデータベースの悲観的・楽観的排他制御を試してみる - CUBE SUGAR CONTAINER
  • トランザクション分離レベルを理解するために実際に試してみる – sawara.me

    「トランザクション分離レベル」って今まで聞いたことはあったんだけど、なんのこっちゃわからんかったし、実用面で運用中に気にすることもなかったし、けど知らないままなのもなんだかなぁ、ってことで改めて調べてみました。 Wikipediaによりますと トランザクション分離レベル (-ぶんり-)または 分離レベル (英: Isolation) とは、データベース管理システム上での一括処理(トランザクション)が複数同時に行われた場合に、どれほどの一貫性、正確性で実行するかを4段階で定義したものである。隔離レベル 、 独立性レベルとも呼ばれる。トランザクションを定義づけるACID特性のうち,I(Isolation; 分離性, 独立性)に関する概念である。 Wikipedia「トランザクション分離レベル」より 重要なのはトランザクションのACID特性のI(Isolation; 分離性, 独立性)に関する概

    トランザクション分離レベルを理解するために実際に試してみる – sawara.me