分散の基礎、2 フェーズ コミットとは何ですか?

分散の基礎、2 フェーズ コミットとは何ですか?

前の記事「分散トランザクション、こんな遊び方もできる?」多くの議論を引き起こした。分散したものについて語る新しいシリーズを始める予定です。今日は、比較的わかりやすい「2フェーズコミット」から始めます。

ナレーション: 私は Paxos をわかりやすい言葉で説明することを目標にしました。

[[247750]]

分散トランザクションはなぜ難しいのでしょうか?

分散環境では、各ノードは自身の操作の成功または失敗を知ることができますが、他のノードの操作の成功または失敗を知ることはできません。分散トランザクションが複数のノードにまたがる場合、トランザクションの原子性と一貫性を維持することは非常に困難です。

2 フェーズコミットとは何ですか?

2 フェーズ コミット (2PC) は、すべてのノードがトランザクションをコミットし、分散環境で一貫性を維持できるようにするアルゴリズムです。

参加者全員の操作結果を統合し、操作結果を実際にコミットするかロールバックするかを指示するコーディネータを導入します。

なぜ 2 フェーズ コミットと呼ばれるのでしょうか?

名前が示すように、2PC は 2 つのフェーズに分かれています。

  • 投票フェーズ: 参加者はコーディネーターに通知し、コーディネーターはフィードバックを提供します。

ナレーション: これは、単一マシン トランザクションの trx.exec() として理解できます。

  • コミット フェーズ: 参加者からのフィードバックを受け取った後、コーディネーターは参加者に通知を送信し、フィードバックに基づいてコミットするかロールバックするかを決定します。

ナレーション: これは、単一マシン トランザクションの trx.commit() または trx.rollback() として理解できます。

例えば:

A、B、C、D の 4 人が会議を開催し、会議の時間を決定する必要があります。 A がコーディネーターであり、B、C、D が参加者であると仮定します。

投票フェーズ

(1)AはB、C、Dに電子メールを送り、明日10時の会議を通知し、都合がつくかどうかを尋ねる。

(2)Bは時間はあると答えた。

(3)Cは時間はあると答えた。

(4)ディンは長い間返事をしない。この時点で、A、B、C はすべてこのトランザクションに対してブロックされており、アルゴリズムは続行できません。

提出フェーズ

(1)コーディネーターAは収集した結果をB、C、Dに通知する。

ナレーション: この場合、いつ通知するか、フィードバックの結果がどうなるかは、Ding の時間と決定によって決まります。

  • Ding が時間があると返答した場合、コミットを通知します。
  • Ding が時間がない旨を返答した場合、通知はロールバックされます。

(2)乙は通知を受け取り、コーディネーターに通知を承認する。

(3)Cは通知を受け取り、コーディネーターに確認する。

(4)ディンは通知を受け取り、コーディネーターに確認の応答をする。

ナレーション: A がすべての ACK を受信しない場合、分散トランザクションは完了せず、次の投票ラウンドは実行されません。

2 フェーズコミットの欠点は何ですか?

2PC の実行中は、すべてのノードがブロック状態になり、ノードが保持するすべてのリソース (データベース データ、ローカル ファイルなど) がブロック状態になります。

典型的な状況は次のとおりです。

  • 参加者がメッセージに返信するまでは、すべての参加者とコーディネーターがブロックされます。
  • コーディネーターがメッセージを送信するまで、すべての参加者はブロックされます。

さらに、コーディネーターまたは参加者がクラッシュした場合、アルゴリズム全体が完全にブロックされた状態になるのを回避するために、アルゴリズムを前進させるためのタイムアウト メカニズムが必要になることがよくあります。

一般的に、2PC は比較的保守的で非効率的なアルゴリズムであり、分散トランザクションを実行するのは非常に困難です。

【この記事は51CTOコラムニスト「58 Shen Jian」によるオリジナル記事です。転載については原著者にお問い合わせください。

この著者の他の記事を読むにはここをクリックしてください

<<:  マイクロソフトのエンタープライズ クラウド サービスが中国に集結、クラウド イノベーションに無限の可能性をもたらす

>>:  IBM は Redhat を 334 億ドルで買収します。これにより、クラウドの状況は完全に変わり、世界一のハイブリッド クラウド プロバイダーになります。

推薦する

ガートナー:世界のIaaSパブリッククラウドサービス市場は2020年に40.7%成長する見込み

ガートナーによると、世界のインフラストラクチャ・アズ・ア・サービス(IaaS)市場は、2019年の4...

企業ウェブサイトのキーワードの選び方

企業サイトのキーワードはどのように選べばいいのでしょうか?ある企業がインターネットでサイトを構築して...

フォーラムの包含問題の解決 - Baidu BBS の包含契約

この記事は主にフォーラム型ウェブサイトの組み込みに焦点を当てており、Baidu の組み込み契約である...

chamaoyun: クラウド サーバーは月額 34 元から、Windows をサポートし、データ センターは 21 か所、香港/韓国/日本/シンガポール/タイ/インドなど。

国内の新興企業であるChaMao Cloudは、主にクラウドサーバーと独立サーバー事業に注力しており...

企業が株式を公開する際の沈黙期間を説明する5つの質問

2014年以降、多数の中国のインターネット企業が米国で株式を公開した。この過程で、「沈黙期間」または...

tranzmedia-7 USD/OpenStack クラウド/フランスの高防御 VPS/無制限トラフィック

tranzmediaはインドのIT企業で、2005年に事業を開始したと言われていますが、具体的な情報...

Baidu の最近の微妙な変化に気づきましたか?

草の根ウェブマスターになるのはとても忙しいです。毎日オリジナルの記事を探し、たくさんの外部リンクを投...

hostsumo-$4/Xen/1g メモリ/50g ハードディスク/1T トラフィック/ダラス

Hostsumo は、VPS 販売業者 sharknode のサブブランドです。違いは、hostsu...

クラウド移行を活用してデジタル変革を推進する方法

今日、クラウド コンピューティングは、企業がワークフローを効率化するための手段にとどまらず、大きな差...

暇な時間に百度ウェブマスタープラットフォーム「大家族」を解釈する

Baidu Webmaster Platform は、SEO 最適化を行う Web マスターにとって...

APP プロモーション: ニッチなプロモーション チャネルを掘り下げる (自分に合ったチャネルが必ず見つかります)

アプリプロモーションチャンネルに関する記事はたくさんあります。従来のチャンネル形式、無料と有料のもの...

Renrenビデオサーバーが海外に移転

人人影視はホームページに「中国語サイトは正式に閉鎖されました。国際版を閲覧する際は、お住まいの地域の...

中小企業のリーダーはSEOをどう捉えるべきか

SEOの重要性を認識するビジネスリーダーが増えているようです。彼らはプロのSEO会社に相談したり、従...

この男は金儲けのために他人のウェブサイトにリンクを張っていたが、刑務所に行くとは思っていなかった。

若者はコンピューター技術に精通しており、多くのチャンスを見つけることができますが、臨安には自分の技術...