CAPとデータの整合性

これは、分散システムは、ネットワーク環境下で、システム内の複数のノードと協力して、これらのノードは、それ自体が様々な理由により不安定になる前提としています。非常に重要な概念--CAP原則があるの。この原則は、ほとんどの分散システムの設計プロセスをガイドするCAPの原則、一般的に、分散システム三つの特徴があることを言わなければならない:一貫性(一貫性)、分割耐性(パーティション)およびアベイラビリティ(可用性)、および3は、プロパティは、すべての分散システムの設計に同時に満たすことができません。

 

 

例えば、N個のノードを有する分散システムは、ネットワークリンクを介して協力します。まず、あなたができるだけでなくノードに格納されている完全なデータX、かつて様々な理由により動作を停止し、データが、それは確かにシステムの可用性を満たしていないXにアクセスできないためであるノード、このノードはもはやできかつて復元され、データXが失われることはありません。したがって、データは、X Xの安全性を確保するだけでなく、より良い場合であっても、データは同様にすることができる場合、複数のノードが同時に利用できない、ことを確実にするために複数の部品に少なくともX異なるノード、より多くのデータの記憶されたコピーの量が保存されるべきですそれがアクセスされます。これは、要件のパーティションである一般的な経験に基づいて、コピー数データXは、少なくとも3でなければなりません。この場合、データは、Xはそれのこれらのコピーを更新する方法を変更しますか?最良の結果を任意のノードXからの更新要求データX、およびアクセスデータを発行する場合、クライアントが要求したときの日付にそれを得ることができるということです、これは適合性要件です。もちろん、あまりにも理論的に最良の結果を得るには、あなたは多くの外部要因の影響を受け、ネットワークベースの分散システムの仕事を知っている:同期プロセスが行う方法に接続されたノードのコピーを見つけることができない場合は?顧客であれば別のデータXを行う方法を再び更新しながら?あなたが本当に適合性要件に、このような理論を実現したい場合は、それだけですべてを読む必要がある/書き込みデータXクライアントは、Xのデータ同期のすべてのコピーが終了するまで待って、その後の対応が、どうやらそれ可用性の観点からするようになりますだけでなく、要件を満たしていません。

 

 

 

別の例として、設計は、典型的には、リレーショナルデータベース酸原理に基づいており、すなわち、アトミック(原子性)、一貫性(整合性)、分離(単離)および永続性(耐久性REV)、一般的に使用されるリレーショナルデータベースとトランザクション技術酸原理各トランザクションは、アトミック操作を最小限にすることであり、トランザクションが読み取り可能なコミットされていない、そのような反復可能読取りトランザクションレベルを含む、さまざまなレベルを提供することができる、リレーショナルデータベースは、提供トランザクションが正しく送信されたデータのロールバックを行うことができないと、あなたがデータを変更するために継続したい場合にのみ、新たな事業を開始することができます。そして、このすべてのデータベースシステムの一貫性を確保するためには、強力なシステムです。限り、異常に関与し、分散トランザクション処理の任意のデータベースインスタンスがあるとして、分散トランザクション全体はもちろん、適切に提出しない場合があります。でも、分散トランザクション機構の各リレーショナルデータベースインスタンスの上に建てられたが、また、この目標があることを確認するためにデータ書き込み動作を完了することができませんでし。もちろん、古いデータは、オペレーショナル・リスクの一貫性におけるような変化が存在しないため、また、読み出し動作をとることができるいくつかの他のデータベース・ノードのノードに問題があっても、読むことができます。

任意の分散システムは、3つのプロパティの主要な設計目標と同時にCAPに原則的に、非常に高い強い一貫性と高い分割耐性に到達することはできませんが、完全ではないの費用を(可用性費用を犠牲に留意する必要があります)あきらめます。分散システムの任意の分割耐性も分散システムと呼ばれることができないことなく、分割耐性とは、分散システムの確立のための基礎であり、高圧環境が不当に分散システムの可用性を犠牲にすることはできません、あなたは99.99%を知っています可用性と99.999%の可用性を完全分散システムの2つのグレードです。

1-2。データの一貫
少なくとも分散システムの設計原理から見ると、公開ポイントの多様性を提示するように、デザインのアイデアのデータの一貫性に過度の強調などの分散トランザクション・メカニズムに非常に類似したがあまり主流の分散システムの設計思想の影響を受けているが、歓迎されていますA。例えば、そのようなHDFSは、まず、高可用性と分割耐性のある程度の保証のコピーによるデータ整合性、データの整合性が続くことを強調し、ファイルシステムを配布しました。すべてのコピーが完了したが、HDFSのアクションに書き込まれていないされた後のデータと一致考えられますが、限り、データの書き込み動作の完全なコピーの一部として、データが正常にHDFSに書き込まれるとみなされ、クライアントが新しいデータを呼び出すことができますが、同期コピーを完了しませんでした。最終的なデータの一貫性に到達するために、データの同期が続きます。DNSは、分散システムであり、すべてのグローバルDNSノードを待つための要求が継続作業の前に、変更を有効にするされた後に、異なるネットワーク間でのDNSサービスので、高可用性と分割耐性を考慮する必要があり、そのときに、新しいドメイン名解決のDNS設定の変更しかし、DNSの組織構造は、いくつかのDNSサービスノードの結果は、ドメイン名が最終的に同じであるwww.XXXX.comを解決することを確認します。BASE:この犠牲のシステムデザインのアイデアは、システムパーティションの許容範囲の一貫性と信頼性を確保するために、分散システムの分野における特定のコールがあります。利用可能な基本的な(基本的にのavailble)、ソフト状態(ソフト状態)と最終コンシステンシー(結果整合性)。

強い整合性と結果整合性:前のセクションでは、CAPの原則および実施例の内容の簡単な説明は、参照は、二つの概念の一貫性についてです。それは、ノードが、データXが同じで取得システムを分散する動作を行うか否かの強力な顧客獲得データの一貫性は、Xは、分散システム内の任意の点で要約することができます。この定義から、分散トランザクション・メカニズムは、実装の強い一貫性の一種です。弱い一貫対応する定義が強い整合性、一貫性の弱い私たちはすべての分散システムことを確認することができたときに約束していない、データの整合性を確保するために、データの一貫性を維持することを意味し、ないすべての時間を言わないを持っていますノードは、一貫性のあるデータを読み取ることができます。最終的な一貫性は、データの不整合の時間窓の後、一貫性の弱いコミットメントの両方に基づいて、結果の特定の弱一貫性であり、最終的にデータの一貫性を確保します。クライアント内の矛盾したデータの時間窓は、非常に短いように見えた、分散システムはまた、マスタコピーモードから、例えば、種々の方法によってクライアントに一貫性のないデータを遮断することができます。
----------------
免責事項:この記事はCSDNのブロガーがCC 4.0 BY-SAの著作権契約、複製、オリジナルのソースを添付してくださいに従って、元の記事の「良い戦いの顔を言うことができない」でありますリンクとこの文。
オリジナルリンクします。https://blog.csdn.net/yinwenjie/article/details/60584554

おすすめ

転載: www.cnblogs.com/sylar5/p/11525147.html