ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
ダウンロード
ブラウザよりも高速アクセス!
 

2相コミット

索引 2相コミット

2相コミット(Two-Phase Commit)とは、コンピュータネットワークやデータベースにおいて、分散システム内の全ノードがトランザクションのコミットに合意するための分散アルゴリズムあるいはプロトコルである。ネットワーク障害やノード故障の場合も考慮され、結果としてトランザクションはコミットされるか失敗するかのいずれかの状態となる。しかし、Dale Skeen とマイケル・ストーンブレーカーの研究によれば、2相コミットは同時に複数のサイトが(無作為に)障害に陥った場合に対応できない。このアルゴリズムの2相とは、「調整者; coordinator」が全「参加者; cohorts」の調整を行う「コミット要求相; commit-request phase」と、調整者の決定によって全参加者がトランザクションを完了させる「コミット相; commit phase」である。.

21 関係: ACID (コンピュータ科学)並行性並行性制御バトラー・ランプソントランザクション処理分散トランザクション分散アルゴリズムアトミックコミットコミットタンデムコンピューターズBEAシステムズCAP定理Command パターン関係データベース管理システムの比較H2 DatabaseInformixInformix Dynamic ServerOracle TuxedoPostgreSQLX/Open XA3相コミット

ACID (コンピュータ科学)

ACIDとは、信頼性のあるトランザクションシステムの持つべき性質として1970年代後半にジム・グレイが定義した概念で、これ以上分解してはならないという意味の原子性(atomicity、不可分性)、一貫性(consistency)、独立性(isolation)、および永続性(durability)は、トランザクション処理の信頼性を保証するために求められる性質であるとする考え方である。 この語はその4つの性質を表す英語の語の頭字語をとって作られた合成語であり、1983年にアンドレアス・ロイターとテオ・ヘルダーによって提唱された。.

新しい!!: 2相コミットとACID (コンピュータ科学) · 続きを見る »

並行性

並行性(へいこうせい、concurrency)とは、計算機科学において、時間的にオーバーラップして実行される計算を伴うシステムの属性であり、そのような計算ではリソースを共有することがある。並行計算は、同一チップ上の複数のコア、単一プロセッサ上のプリエンプションを伴うマルチスレッド、物理的に分離した複数プロセッサ上などで行われる。並行計算のための数学的モデルとして、ペトリネット、プロセス計算、並列ランダムアクセス機械モデル、アクターモデル、 などが開発された。.

新しい!!: 2相コミットと並行性 · 続きを見る »

並行性制御

情報技術および計算機科学における並行性制御(へいこうせいせいぎょ、Concurrency Control)または同時実行制御(どうじじっこうせいぎょ)とは、特にプログラミングとOSとマルチプロセッシングとデータベースにおいて、並行処理の結果が可能な限り素早くかつ正しく得られることを保証することである。 コンピュータシステムは、ソフトウェアもハードウェアも、モジュールまたはコンポーネントで構成される。各コンポーネントは何らかの一貫性規則に従って正しく動作するよう設計されている。コンポーネント間でメッセージをやり取りするか(記憶装置内で)データを共有して並行動作する際、あるコンポーネント間の一貫性が他のコンポーネントによって妨害されることがある。並行性制御の一般的な領域は、同時並行的に相互作用しながら動作するコンポーネント間の一貫性を保つための規則、技法、設計方法論、理論を提供し、結果としてシステム全体の一貫性と正確性を提供する。並行性制御をシステムに導入することは、一般に若干の性能低下を生じる操作上の制約を適用することを意味する。操作一貫性と正確性は、妥当な以上の性能低下を伴わずに可能な限り効率的に達成されるべきである。.

新しい!!: 2相コミットと並行性制御 · 続きを見る »

バトラー・ランプソン

バトラー・W・ランプソン(Butler W. Lampson、1943年 - )は、アメリカ合衆国の計算機科学者。.

新しい!!: 2相コミットとバトラー・ランプソン · 続きを見る »

トランザクション処理

トランザクション処理 (Transaction Processing) とは、トランザクションと呼ばれる不可分な操作から構成される情報処理の形態。.

新しい!!: 2相コミットとトランザクション処理 · 続きを見る »

分散トランザクション

分散トランザクション(ぶんさんトランザクション、Distributed transaction)は、コンピュータ分野におけるトランザクション処理の処理形態の1つであり、ネットワーク上の2つ以上のホスト(処理するコンピュータ)が関連する、1まとまりの操作(処理、取引、トランザクション)のことを示す。.

新しい!!: 2相コミットと分散トランザクション · 続きを見る »

分散アルゴリズム

分散アルゴリズムとは相互接続されたプロセッサにより構成されるハードウェア上で実行するために設計されたアルゴリズムである。分散アルゴリズムは分散コンピューティングの多くの応用分野において使われ、その例として、通信、科学計算、分散情報処理、リアルタイムプロセス管理などがある。分散アルゴリズムによって解決された標準的な問題として、リーダー選出、合意、分散検索、全域木生成、ミューテックス、リソース割り当てなどがある。 典型的な分散アルゴリズムは、並列に実行され、アルゴリズムの各部が独立したプロセッサ上で同時に実行され、アルゴリズムの他の部分については限定的な情報しか持たない。分散アルゴリズムを開発し、実装する上での大きな課題となるのが、プロセッサ障害が発生し、通信接続が不確実であるような環境において、アルゴリズムの独立した部分の動作を統制することである。与えられた問題に対し、適切な分散アルゴリズムを選択することは、問題の特徴と、アルゴリズムが実行されるシステムの特徴の両方に依存する。ここでシステムの特徴とは、プロセッサの性能や、通信接続の障害、可能なプロセス間通信の種類、プロセス間の同期を行う際の精度などを指す。.

新しい!!: 2相コミットと分散アルゴリズム · 続きを見る »

アトミックコミット

アトミックコミットアトミック(英語:atomic)は「不可分な個体」という本来の意味で用いられている。ここでは「原子」(元素の最小構成単位)とは無関係。とは異なる変更の集合が一つの処理として実行されるような処理のことである。もし全ての変更が実行されれば、アトミックコミットが成功したと表現される。アトミックコミットが完了するまでに障害があった場合、"コミット"は中止され、実行された全ての変更は戻される(ロールバックされる)。この場合の障害の例として、ネットワークケーブルの接続が切れた場合や、自動的に解消できない競合が起きた場合などがある。どちらの場合でも、アトミックコミットによりシステムは整合性がある状態に置かれる。 二将軍の問題の証明をもって、この問題を解くアルゴリズムがないことが証明されている。しかし、2相コミットや3相コミットなどのアルゴリズムはアトミックコミットの問題の一部を解決することが可能である。 今日では、アトミックコミットはデータベースシステムにおいて、複数の変更処理を同時にコミットする場合に起きる。これらの変更処理は同じテーブルへの異なるupdate句である場合や、複数データベースに及ぶ変更である場合がある。 アトミックコミットは現在のバージョン管理システムにおいて使用され、コミットを可能にしたり、ソースにアップロードしたり、複数ファイルに変更をしつつ(これはチェンジセットと呼ばれる)、全てのファイルがアップロードされ、マージされることを保証する。アトミックコミットにおいて、同時にコミットされるファイルは単一の編集内容に関係し、その編集内容により変更された部分は全てコミットに含まれるべきである。このようにして、コードベースは常に安定である。つまり、ユーザが作業コピーを更新する際、他人の作業コピーにおいて未コミットである変更点を逃すことがなく、チェンジセットは読めないほどごちゃごちゃにならず、アトミックコミットがロールバックされた際は、単一の編集内容がコードベースより除去される。.

新しい!!: 2相コミットとアトミックコミット · 続きを見る »

コミット

ミット (commit) とは、データベースにおいてトランザクションによる内容更新を恒久的なものとして確定することを指す。 一般にトランザクションの終了時にその更新を確定するという意味で「コミットする」などと使用する。関係データベース管理システム (RDBMS) のSQLのCOMMIT文はトランザクションの完了時に使用され、そのトランザクションによる更新が他からも見えるようにする。逆に、更新を取り消す処理をロールバックと呼び、こうした制御をコミットメント制御と呼ぶ。SQLではROLLBACK文がその処理を行う。 バージョン管理システムはデータベースの一種であり、他者から自身の更新が見えるようにするという意味で「コミット」という用語を使用している。.

新しい!!: 2相コミットとコミット · 続きを見る »

タンデムコンピューターズ

タンデムのロゴ入りマグカップ タンデムコンピューターズ (Tandem Computers, Inc.) は、ATMネットワーク、銀行、株式市場その他のトランザクション処理を主とする用途向けに無停止コンピュータ(フォールトトレラント・コンピュータ)を製造していた企業である。無停止コンピュータは稼働時間をなるべく長くし、データ損失をゼロにすることを要求される用途で活躍する。1974年創業で、1997年まで独立企業として存続していた。現在はヒューレット・パッカードのサーバ部門に吸収されている。.

新しい!!: 2相コミットとタンデムコンピューターズ · 続きを見る »

BEAシステムズ

BEAシステムズ(英: BEA Systems, Inc.、)は、1995年から2008年まで存在した、米国を拠点とした企業インフラソフトウェア専門の会社である。 主要製品はアプリケーションサーバであるBEA WebLogicシリーズ(現在のOracle WebLogicシリーズ)である。世界37カ国に77の拠点を持ち、日本法人は日本BEAシステムズ株式会社であった。2008年にオラクルに買収され、企業としては消滅した。.

新しい!!: 2相コミットとBEAシステムズ · 続きを見る »

CAP定理

CAP定理はブリュワーの定理とも呼ばれ、分散コンピュータシステムのマシン間の情報複製に関する定理。ウェブサービスを想定して作られた定理。.

新しい!!: 2相コミットとCAP定理 · 続きを見る »

Command パターン

Command パターン(command pattern)はオブジェクト指向プログラミングにおけるデザインパターンの一つで、動作を表現するオブジェクトを示す。Command オブジェクトは、動作とそれに伴うパラメータをカプセル化したものである。 例として、印刷を行うライブラリが PrintJob クラスを備えているとする。ライブラリのユーザーは新たに PrintJob オブジェクトを作成し、パラメータ(印刷するドキュメント、印刷部数など)をセットし、最後にプリンターにジョブを送信するメソッドを呼び出す。 この場合、同じ機能を多数のパラメータを持つ SendJobToPrinter() 関数で提供することができる。Command クラスを記述すると、関数を記述するよりコードが多くなるため、クラスを使用するにはそれなりの理由がなければならない。理由として可能性のあるものは多数ある。.

新しい!!: 2相コミットとCommand パターン · 続きを見る »

関係データベース管理システムの比較

関係データベース管理システムの比較(かんけいデータベースかんりシステムのひかく)では、関係データベース管理システムの比較について説明する。 特記されていない限り、アドオンや外部プログラムを含まない、最新の安定バージョンに基づいて比較を行っている。.

新しい!!: 2相コミットと関係データベース管理システムの比較 · 続きを見る »

H2 Database

H2 Databaseとは、Javaプラットフォーム上で動く、ACID関係データベース。オープンソース。 作者のThomas Muellerは昔、HSQLDBを開発していた。.

新しい!!: 2相コミットとH2 Database · 続きを見る »

Informix

Informix(いんふぉみっくす)は、IBMの関係データベース管理システム (RDBMS) 製品群の名称。2001年に買収した企業(InformixまたはInformix Software)が1980年に開発したものが起源である。.

新しい!!: 2相コミットとInformix · 続きを見る »

Informix Dynamic Server

Informix Dynamic Server (IDS) は、IBMのオブジェクト関係データベース管理システム (ORDBMS)。 当初はInformix Softwareの製品であったが、2001年のIBMによる同社の買収に伴い、IBMソフトウェア部門の「インフォメーション・マネジメント」ブランドの1製品となった。IBMはIDSを戦略データサーバと位置づけ、DB2との技術共通化を表明している。.

新しい!!: 2相コミットとInformix Dynamic Server · 続きを見る »

Oracle Tuxedo

Oracle Tuxedo(オラクル・タキシード、Tuxedo、Transactions for Unix, Extended for Distributed Operations)は、オンライントランザクション処理 (OLTP)を扱うためのトランザクションモニター(TPモニタ)を中核としたミドルウェア製品である。1984年にAT&Tによって Tuxedo として開発され、USL、ノベル、BEAシステムズ(BEA)を経て、オラクルにより販売されている。.

新しい!!: 2相コミットとOracle Tuxedo · 続きを見る »

PostgreSQL

PostgreSQL(ぽすとぐれすきゅーえる: )はオープンソースのオブジェクト関係データベース管理システム (ORDBMS) である。その名称は Ingres の後継を意味する「Post-Ingres」に由来している。「Postgres」や「ポスグレ」と呼ばれることも多い。.

新しい!!: 2相コミットとPostgreSQL · 続きを見る »

X/Open XA

X/Open XA とは、X/Openが策定した分散トランザクション処理のための標準規格。各ノードのローカルなリソースマネージャと、それらを分散システムとして統合するトランザクションマネージャとの間のプログラムインタフェースを規定している。 XA は、トランザクションマネージャとリソースマネージャ間で2相コミットプロトコルを実行するためのC言語プログラムインタフェースを規定している。主にTXインタフェースおよびXAインタフェースがある。 本来の XA インターフェースは製品に依存せず同一であるが、XA 準拠の各 トランザクションマネージャ では、リソースマネージャ が製品固有の方法で組み込まれている場合がある。.

新しい!!: 2相コミットとX/Open XA · 続きを見る »

3相コミット

ンピュータネットワークやデータベースにおいて、3相コミットプロトコル(3PC)は分散アルゴリズムであり、分散システムの全ノードがデータベーストランザクションのコミットに合意することを可能にするものである。しかし、2相コミット(2PC)とは違い、3PCはノンブロッキングである。より詳細には、3PCはトランザクションがコミットするか、中止するかのいずれかにかかる時間に上限を設ける。この性質により、もしあるトランザクションが3PCによりコミットしようとして、あるロックを行っている場合、タイムアウトによりそのロックが解除されることが保証される。.

新しい!!: 2相コミットと3相コミット · 続きを見る »

ここにリダイレクトされます:

ツーフェーズコミット

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »