dbo:abstract
|
- El protocolo commit de tres fases, también conocido por las siglas 3PC (del inglés 3-Phase Commit), es un protocolo de consenso distribuido que permite a todos los nodos de un sistema distribuido ponerse de acuerdo para hacer commit a una transacción. Típicamente es usado en Bases de datos distribuidas. Resuelve el problema de confiar totalmente en el funcionamiento correcto en el coordinador del algoritmo de dos fases. Para ello añade una fase extra entre las dos fases del algoritmo de dos fases. En ella el coordinador envía un mensaje de preparado para commit a todos los nodos con la decisión de si hay que hacer commit o no. Si el coordinador obtiene una respuesta de todos los nodos entonces pasa a la fase de commit. Con este método, como cada nodo tiene la decisión almacenada independientemente, si el coordinador o cualquier otro nodo cae la ejecución de la transacción no es afectada. Esto puede ser aprovechado por ejemplo por un coordinador de repuesto que puede continuar con el protocolo. Al contrario del protocolo de commit de dos fases (2PC), el 3PC no es bloqueante. Específicamente, 3PC sitúa un límite superior de la cantidad de tiempo requerido antes de que una transacción haga el commit o aborte. Esta propiedad asegura que si una transacción dada está intentando hacer commit vía 3PC y mantiene algún recurso bloqueado (locking), puede liberar los bloqueos después del límite de tiempo (timeout). El protocolo 3PC fue originalmente descrito por y Michael Stonebraker en su artículo "A Formal Model of Crash Recovery in a Distributed System." En este trabajo, ellos modelaron 2PC como un sistema de "máquina de estado finito no determinista" y probaron que no es resistente a un fallo aleatorio de un único nodo. La observación básica es que en 2PC, mientras un nodo está en el estado de "preparado para commit", el otro puede estar tanto en el estado de "commit" como en el de "abortar". A partir de este análisis, desarrollaron 3PC para evitar dichos estados y por tanto ser resistente a dichos fallos. (es)
- In computer networking and databases, the three-phase commit protocol (3PC) is a distributed algorithm which lets all nodes in a distributed system agree to commit a transaction. It is a more failure-resilient refinement of the two-phase commit protocol (2PC). (en)
- コンピュータネットワークやデータベースにおいて、3相コミットプロトコル(3PC)は分散アルゴリズムであり、分散システムの全ノードがデータベーストランザクションのコミットに合意することを可能にするものである。しかし、2相コミット(2PC)とは違い、3PCはノンブロッキングである。より詳細には、3PCはトランザクションがコミットするか、中止するかのいずれかにかかる時間に上限を設ける。この性質により、もしあるトランザクションが3PCによりコミットしようとして、あるロックを行っている場合、タイムアウトによりそのロックが解除されることが保証される。 (ja)
- 三阶段提交(英語:Three-phase commit),也叫三阶段提交协议(英語:Three-phase commit protocol),是在電腦网络及数据库的范畴下,令一个分布式系统内的所有节点能够执行事务的提交的一种分布式算法。三阶段提交是为了解决两阶段提交协议的缺点而设计的。 与两阶段提交不同的是,三阶段提交是一種“非阻塞”的协议。三阶段提交在两阶段提交的第一阶段与第二阶段之间插入了一个准备阶段,令原先在两阶段提交中,参与者在投票之后,由于协调者发生崩溃或错误,而导致参与者处于无法知晓是否提交或者中止的“不确定状态”所产生的可能相当长的延时的问题得以解决。 舉例來說,假設有一個決策小組由一個主持人負責與多位組員以電話聯絡方式協調是否通過一個提案,以兩階段提交來說,主持人收到一個提案請求,打電話跟每個組員詢問是否通過並統計回覆,然後將最後決定打電話通知各組員。要是主持人在跟第一位組員通完電話後失憶,而第一位組員在得知結果並執行後老人痴呆,那麼即使重新選出主持人,也沒人知道最後的提案決定是什麼,也許是通過,也許是駁回,不管大家選擇哪一種決定,都有可能與第一位組員已執行過的真實決定不一致,老闆就會認為決策小組溝通有問題而解雇。三階段提交即是引入了另一個步驟,主持人打電話跟組員通知請準備通過提案,以避免沒人知道真實決定而造成決定不一致的失業危機。而三阶段提交為什麼能夠解決二階段提交的問題呢?回到剛剛提到的狀況,在主持人通知完第一位組員請準備通過後兩人意外失憶,即使沒人知道全體在第一階段的決定為何,全體決策組員仍可以重新協調過程或直接否決,不會因出現不一致決定而失業。那麼當主持人通知完全體組員請準備通過並得到大家的再次確定後進入第三階段,當主持人通知第一位組員請通過提案後兩人意外失憶,這時候其他組員再重新選出主持人後,仍可以知道目前至少是處於準備通過提案階段,表示第一階段大家都已經決定要通過了,此時便可以直接通過。 (zh)
|
dbo:wikiPageID
| |
dbo:wikiPageLength
|
- 4085 (xsd:nonNegativeInteger)
|
dbo:wikiPageRevisionID
| |
dbo:wikiPageWikiLink
| |
dbp:wikiPageUsesTemplate
| |
dcterms:subject
| |
gold:hypernym
| |
rdf:type
| |
rdfs:comment
|
- In computer networking and databases, the three-phase commit protocol (3PC) is a distributed algorithm which lets all nodes in a distributed system agree to commit a transaction. It is a more failure-resilient refinement of the two-phase commit protocol (2PC). (en)
- コンピュータネットワークやデータベースにおいて、3相コミットプロトコル(3PC)は分散アルゴリズムであり、分散システムの全ノードがデータベーストランザクションのコミットに合意することを可能にするものである。しかし、2相コミット(2PC)とは違い、3PCはノンブロッキングである。より詳細には、3PCはトランザクションがコミットするか、中止するかのいずれかにかかる時間に上限を設ける。この性質により、もしあるトランザクションが3PCによりコミットしようとして、あるロックを行っている場合、タイムアウトによりそのロックが解除されることが保証される。 (ja)
- El protocolo commit de tres fases, también conocido por las siglas 3PC (del inglés 3-Phase Commit), es un protocolo de consenso distribuido que permite a todos los nodos de un sistema distribuido ponerse de acuerdo para hacer commit a una transacción. Típicamente es usado en Bases de datos distribuidas. Con este método, como cada nodo tiene la decisión almacenada independientemente, si el coordinador o cualquier otro nodo cae la ejecución de la transacción no es afectada. Esto puede ser aprovechado por ejemplo por un coordinador de repuesto que puede continuar con el protocolo. (es)
- 三阶段提交(英語:Three-phase commit),也叫三阶段提交协议(英語:Three-phase commit protocol),是在電腦网络及数据库的范畴下,令一个分布式系统内的所有节点能够执行事务的提交的一种分布式算法。三阶段提交是为了解决两阶段提交协议的缺点而设计的。 与两阶段提交不同的是,三阶段提交是一種“非阻塞”的协议。三阶段提交在两阶段提交的第一阶段与第二阶段之间插入了一个准备阶段,令原先在两阶段提交中,参与者在投票之后,由于协调者发生崩溃或错误,而导致参与者处于无法知晓是否提交或者中止的“不确定状态”所产生的可能相当长的延时的问题得以解决。 (zh)
|
rdfs:label
|
- Commit de tres fases (es)
- 3相コミット (ja)
- Three-phase commit protocol (en)
- 三阶段提交 (zh)
|
owl:sameAs
| |
prov:wasDerivedFrom
| |
foaf:isPrimaryTopicOf
| |
is dbo:wikiPageRedirects
of | |
is dbo:wikiPageWikiLink
of | |
is foaf:primaryTopic
of | |