CAP相対論

1795 ワード

CAP相対論
概要
CAP理論は、「帽子理論」と呼ばれ、Eric BrewerによってACMシンポジウムで提案され、その後、CAPは とされた.分散システムCAP理論-まず、分散システムの3つの特性をまとめます.
  • (C)コンシステンシ分散環境では、すべてのデータのバックアップと格納は、同じ場合(時間、システム操作)で値が同じです.(例えば、すべてのノードが最新のデータコピーにアクセスし、結果は同じ)
  • (A)可用性クラスタ環境で、あるノードが故障した後、クラスタがすべてのクライアントの読み書き要求に正常に応答できるかどうか.(データ更新に高い可用性を備える)
  • .
  • (P)パーティションの許容性は、実際の効果として、通信に対する時間的要件に相当する.システムが時間内にデータ整合性を達成できない場合、パーティションが発生したことを意味し、現在の動作についてCとAの間で選択しなければならない.
  • 概要 、 , 。
  • CA、CP、AP
  • CA without P P P Pを求めない(パーティションを許可しない)場合、C(強い一貫性)とA(可用性)は保証されます.しかし、パーティション化はあなたが考えている問題ではなく、常に存在するため、CAのシステムはパーティション化後も各サブシステムがCAを維持することを許可することが多い.CA without P
  • CP without Aは、A(利用可能)を要求しない場合、各要求がサーバ間で強く一致する必要があるのに相当し、P(パーティション)は同期時間を無限に延長し、CPも保証できる.多くの従来のデータベース分散トランザクションは、このモードに属しています.CP without A
  • AP without Cが高可用性でパーティションを許可するには、コンシステンシを放棄する必要があります.パーティションが発生すると、ノード間の連絡が失われる可能性があります.高可用性のために、各ノードはローカルデータでしかサービスを提供できません.これにより、グローバルデータの不一致が発生します.現在、多くのNoSQLがこのようなものに属しています.AP without C

  • 以上の画像のPDF位置はこのリンクをクリックして取得してください
    CAP理論の証明
    この理論はbrewerによって提案され,2年後の2002年,Lynchは他の人とBrewerの推測を証明し,CAPを定理に上昇させた.しかし,CAP 3者が同時に満足することが不可能であることを証明しただけであり,いずれも満足できる問題を証明していないため,この証明は縮小した結果と考えられる.Lynchの証明は比較的に簡単です:反証法を採用して、もし3つが同時に満たすことができるならば、Pの存在を許すため、必ずServerの間のパケットを失うことがあって、このようにCを保証することができなくて、証明は簡潔で厳格です.
  • この証明書では、CAPの定義をより明確に宣言しています.
  • C:コンシステンシは原子オブジェクトと呼ばれ、どの読み書きも「原子」のように見えるか、シリアルのように見えるはずです.書いた後の読み書きは必ず前に書いた内容を読むことができます.すべての読み書き要求はグローバルにソートされているようです.
  • A:失敗していないノードに対して、限られた時間内に要求に応答する必要があります.
  • P:ノード間で任意の複数のメッセージを失うことを許可し、ネットワークパーティションが発生すると、ノード間のメッセージが完全に失われる可能性がある.


  • CAP理論の明確化
    CAP理論の12年の回顧:“規則”は1文を変えてComputer雑誌に先発して、後にInfoQとIEEEが連合して現れて、とてもすばらしい[2]、文章はいくつかの観点を表現しました.