2相コミットメント
Two-Phase Commit
にそうこみっとめんと
他の資格での定義
分散データベースにおいて、複数のサイトでトランザクションの整合性を保証するためのプロトコル。投票フェーズと決定フェーズの2段階で全サイトの合意を得る。
分散データベースにおいて、複数のサイトにまたがるトランザクションの整合性を保証するプロトコル。第1相で全サイトにコミット可否を確認し、全サイトが合意した場合のみ第2相でコミットを実行する。
分散データベースでトランザクションの原子性を保証するプロトコル。第1相(準備相)で各サイトにコミット可否を問い合わせ、全サイトがOKなら第2相(コミット相)でコミットを指示する。1つでもNGなら全体をアボートする。
関連キーワードの用語
分散データベースシステムにおいて、一貫性(Consistency)、可用性(Availability)、分断耐性(Partition Tolerance)の3つの特性を同時にすべて満たすことは不可能であるという定理。システム設計時に、どの2つを優先するかのトレードオフの判断に用いられる。
リレーショナルデータベース以外のデータベースの総称。キーバリューストア、ドキュメント指向、カラム指向、グラフ型などの種類がある。大量データの分散処理やスキーマレスな柔軟性が特徴で、RDBと併用されることが多い。
大規模データの分散処理を実現するオープンソースフレームワーク。分散ファイルシステム(HDFS)とMapReduceによる並列処理を中核とする。コモディティサーバで構成でき、スケールアウトが容易。
複数のプロセスやトランザクションが共有資源に同時アクセスする際に、データの整合性を保つための制御機構。セマフォ、ミューテックスなどのOS同期機構や、ロック方式(共有ロック・専有ロック)、MVCC等のデータベース制御手法がある。デッドロックの防止も重要な課題。
データベースの定義・操作・制御・保全を一元的に管理するソフトウェア。同時実行制御、障害回復、アクセス制御、データ機密保護などの機能を提供する。ミドルウェアとしてOSとアプリケーションの間に位置する。
データを行(タプル)と列(属性)からなる二次元の表(リレーション)で管理するデータベース。E.F.コッドが提唱した関係モデルに基づき、SQLで操作する。データの独立性が高く、正規化による冗長性の排除が可能で、最も広く普及しているデータベース方式。