分散システムのデータ整合性レベル

分散型の一貫性

解決すべき分散システムにおける重要な問題は、データをコピーすることです。

データ複製のための分散システムは、一般的に、2つの理由から来る必要があります。

  • するために、システムの可用性を向上させる、使用不能に起因する単一障害点を防止するため
  • システム全体のパフォーマンス向上のさまざまな場所でのデータのコピーがユーザーにサービスを提供することが可能である作るために、負荷分散技術によりを。

いわゆる分散一貫性は、生じる可能性がある異なるノード間でのデータ、およびデータの不整合を解決するために自分のコンピュータアプリケーションに頼ることはできない、分散環境におけるデータ複製機構の導入を指します。

データの一貫性は、データのコピーが更新さをいうだけで、入れて、それはそれ以外の場合は異なるコピー間でデータがもはや同じでないでしょう、他のコピーを更新することが可能であることを確認する必要があります。

いくつかは、このソリューションを考えることがあります。

アクションは、データがコピーされた後、書き込み操作が完了するまでブロック書き込まれます。

これは、問題を解決することができるようだときの書き込み要求のシナリオがある場合、システムのパフォーマンスは非常に急激な減少となります。

一般的に、我々は、分散システムのすべてのシステムプロパティを満たすために一貫性のある解決策を見つけることができません。では、どのようにシステムのパフォーマンスに影響を与えることなく、データの整合性を確保するためには、各分散システムを実行している検討し、比較検討することが重要です。

だから、あまり一貫性のレベルがありました。

強い整合性

このレベルの整合性は、それが必要で、ほとんどのユーザーに直感的であるシステムがあるが、また、読み出し何何、書き込み、ユーザ体験は良いですが、それは多くの場合、システムのパフォーマンスに大きな影響であると認識します

弱い一貫性

成功を書き込んだ後一貫拘束システムのこのレベルの後、すぐに値が書き込みを読むことができ、またデータの一貫性を達成するためにどのくらいの特定の約束の後、しかし、可能な限り一定の時間レベルを確保することを約束しない、データをすることができ一貫性のある状態を達成します。弱い一貫性も細分化することができます。

  • セッション一貫性:一貫性のレベルは、同じセッションで書かれた値のために保証され、クライアントはすぐに同じ値を読み取ることができますが、他のセッションは保証できません。
  • ユーザーの一貫性:一貫性のレベルは、同じユーザーで書かれた値のために保証されてはすぐに同じ値を読み取ることができますが、他のユーザーは保証できません。

最終的一貫性

最終的に一貫性が弱一貫性の特殊なケースでは、システムはデータの一貫性のある状態に到達するために、一定時間内に保証されます。それは一貫性モデルの弱い一貫性の非常に重要な一種であるので、ここでは、最終的には一貫性の白羽のだろう理由は、データの一貫性、大規模な分散システムより尊敬モデルに産業です。

参考:
ニッケル超前進「パクシZooKeeperの分散コンセンサス原則と実践から」

おすすめ

転載: blog.csdn.net/u013568373/article/details/91458102