なぜ CAP が分配理論の基礎となるのでしょうか?

なぜ CAP が分配理論の基礎となるのでしょうか?

分散システムでは、次の 3 つの指標に細心の注意を払います。

  • データの一貫性;
  • システムの可用性;
  • ノードの接続性とスケーラビリティ。

これら 3 つの指標の関係は何でしょうか?今日は、分散理論の基礎となるCAPについてお話します。

[[357544]]

データの一貫性とは何ですか?

データの「強力な一貫性」とは、システムが最後に書き込まれたデータのみを読み取ることを意味します。たとえば、この効果は、単一ポイントのシリアル化によって実現できます。

セッションの一貫性、DB マスター スレーブの一貫性、DB デュアル マスターの一貫性、DB とキャッシュの一貫性、データ冗長性の一貫性、メッセージのタイミングの一貫性、分散トランザクションの一貫性、および在庫控除の一貫性に関しても同様の一貫性の問題があります。

空き状況は?

システムが実行される 100 時間単位ごとに 1 時間単位サービスを提供できない場合、システムの可用性は 99% であると言われます。

可用性と信頼性は混同しやすい 2 つの指標です。 ATM を例に挙げてみましょう。

  • 正しい入力により正しい金額を引き出すことができるため、システムは信頼できるものとなります。
  • ATM は 24 時間 365 日サービスを提供しているため、システムが利用可能であることがわかります。

システムの高可用性を確保する方法は次のとおりです。

  • 冗長性;
  • 自動フェイルオーバー。

接続性とスケーラビリティとは何ですか?

分散システムには多くの場合、複数のノードが存在します。各ノードは完全に独立しているわけではなく、相互に通信する必要があります。ノードを接続できない場合、データの一貫性を維持できるかどうか、システムがどのようにフォールト トレランスを実行するかなど、すべて考慮する必要がある問題です。

同時に、接続性とスケーラビリティは密接に関連しています。マシンの拡張パフォーマンスを向上させたい場合は、良好な接続性が必要です。ノードがシステムから外れると、システムに問題が発生し、多くの場合、システムを拡張できなくなります。

CAP定理とは何ですか?

CAP 定理は、上記の分散システムの 3 つの特性を要約したものです。

  • 一貫性;
  • 可用性;
  • パーティション耐性;

さらに、定理によれば、システムを実装する際には、これら 3 つのうち最大 2 つを考慮できることになります。

一貫性、可用性、マルチノードのスケーラビリティの 3 つのうち 2 つだけを選択できます。ロックが追加された今、一般的なベスト エンジニアリング アーキテクチャ プラクティスは何でしょうか?

インターネット上で最も一般的な方法は次のとおりです。

  • ノード接続、マルチノードのスケーラビリティ、および接続例外処理は、P を満たすことが保証される必要があります。
  • 一般的には、一貫性 C と可用性 A のどちらかを選択する必要があります。
  • 一貫性 C を選択します。たとえば、従来の単一データベースの水平セグメンテーションは、このタイプの選択の典型的な例です。
  • 可用性 A を選択します。たとえば、高可用性を備えたデュアル マスター データベースの同期は、このタイプの選択の典型的な例です。

強い一貫性が難しい場合はどうすればいいでしょうか?

シングルポイントシリアル化は「強力な一貫性」を保証できますが、システムの同時パフォーマンスと高可用性に大きな影響を与えます。インターネットの仕組みは「最終的な一貫性」を重視しています。最新データは短期的には読み取れないかもしれませんが、許容できる時間枠が経過すると最新データを読み取ることができます。

たとえば、データベースのマスターとスレーブの同期では、スレーブ データベース上のデータは最終的に一貫性が保たれます。

要約する

  • CAP は、一貫性、可用性、接続性、スケーラビリティとして理解できます。
  • 3 つの CAP のうち 2 つだけを選択できます。
  • 最も一般的な方法は、AP + 結果整合性です。

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

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

<<:  Kafka クラスターの構築

>>:  ビッグデータ開発のために体系的な学習に参加する必要があるのはなぜですか?

推薦する

GoogleのPRアップデートで中国のウェブマスターに遅ればせながらの新年の贈り物

2012年、多くのウェブマスターがGoogleがウェブページのPR(ページランク)をいつ更新するかを...

ウェブサイトの内部リンクを最適化し、検索エンジンのクロールを効果的に誘導します。

内部リンクの重要性については詳しく説明しません。ユーザーであれ検索エンジンであれ、コンテンツ ページ...

ウェブマスターの洞察: 検索エンジン最適化を別の視点から見る

私は何年もウェブサイトの最適化に取り組んできました。私の意見では、Baidu の最適化は長期的な粘り...

IDC:中国のパブリッククラウド市場の成長率は今後30%~40%に回復すると予想

IDCはこのほど、2022年上半期の中国パブリッククラウドサービス市場に関するデータを発表し、市場規...

最後の仕上げは、中小規模のウェブサイト向けのニュースマーケティングです。

現在、ニュースマーケティングは、企業が市場の消費を誘導し、短期間で製品や企業の知名度を高め、ブランド...

メモリ仮想化技術の具体的な2つの実装方法は何ですか?

メモリ仮想化技術の導入後、メモリ システムには 3 種類のアドレスが存在するようになりました。マシン...

エッジでのデータ処理のベストプラクティスの改善

エッジ環境を作成するだけでは、このテクノロジーの究極の可能性を実現することはできません。これらは複雑...

分散コンピューティングに Redis を使用するのはなぜですか?

ビジネスアプリケーションを作成するプログラマーの多くは、実際の開発で Redis を使用する際に S...

ネットワーク仮想化とネットワーク機能仮想化の概要

ネットワーク仮想化の概念は長い間提案されてきましたが、その具体的な定義は業界では依然として議論の的と...

インフラ自動化に必要な3つの段階

従来のオンプレミス データ センターはまだ存在していますが、かつてそこで主流だったワークフローは急速...

ウェブサイトのURLを静的にする必要があるかどうかについての簡単な議論

多くの SEO 担当者は、ウェブサイトの URL は静的でなければならないという点で一致しているよう...

最新の! 48の情報フロープラットフォームのデータランキング、トップに立つのはどのチャネルでしょうか?

5月の主要情報流通プラットフォームのトラフィックランキングが発表されます〜〜では、今回編集者がまとめ...

産業インターネット参入の背景:Xunzhong Sharesは5G時代に新たな道をどのように切り開くのか?

2019 年の 5G の開始により、通信業界は新たな時代を迎えました。レイテンシー、接続数、信頼性な...

ネットワークマーケティングにおける新しいビジネスチャンスのスキルについての簡単な議論

インターネット マーケティングは、結局のところ、販売です。販売といえば、顧客を惹きつけて製品やサービ...

ultravps-$4.16/Xen/1g メモリ/30g ハードディスク/1T トラフィック/ドイツ

Ultravps の XEN.PV ベースの VPS プロモーションが始まりました。1G のメモリが...