タグ

排他とdatabaseに関するa_t_o_a_t_oのブックマーク (2)

  • トランザクション同時実行時の問題とトランザクション分離レベル - Bug Catharsis

    データベースの同時実行性の定義データベースにおける同時実行性は、同時に共有データにアクセスしたり、 共有データを変更したりする複数プロセスの機能性として定義することができる。 互いにブロックすることなく同時に実行できるユーザプロセス数が多いほど、 データベースシステムの同時実行性は高いといい、データの変更プロセスによって、 他のプロセスがその変更データを読み取りできなかったり、 データの読み取りプロセスによって、他のプロセスがそのデータを更新できない場合、 同時実行性が低いという。また、複数プロセスが同じデータを同時に変更しようとすると 常にデータの整合性が損なわれるような場合も、同時実行性が低いと言える。 同時実行性が低くなる状況に対処する方法データベース システムで同時実行性が低くなる状況に対処する方法は、 使用している同時実行制御がオプティミスティック(楽観的)*1かペシミスティック

    トランザクション同時実行時の問題とトランザクション分離レベル - Bug Catharsis
  • InfoQ: Web開発者が知っておくべき八つの分離レベル

    原文(投稿日:2009/3/15)へのリンク ACID特性はデータベース論の基礎の一つです。ACIDではデータベースの信頼性を保つために必要とされる4つの属性を定義しています。原子性(Atomicity)、一貫性(Consistency)、分離性(Isolation)、そして永続性(Durability)です。4つの属性はいずれも重要ですが、とりわけ分離性については最も柔軟に解釈されています。ほとんどのデータベースがいくつかの分離レベルを選択できるようにしていますし、最近は多くのライブラリがより極め細やかな分離レベルを作成するレイヤを追加しています。このように広範囲の分離レベルが存在している主な原因は、緩い分離レベルによって拡張性や性能が数桁のオーダーで異なることにつながるからである。 シリアライズ可能というのは最も古典的で高い分離レベルであり、一般的に使うことが出来るもので、多くの人がそ

    InfoQ: Web開発者が知っておくべき八つの分離レベル
  • 1