11

nosql 分散データベース システムについて話すとき、それらすべてが CAP 定理の 3 つのうちの 2 つに該当することがわかっています。ネットワーク障害とノード障害が避けられない分散クラスターの場合、パーティション トレランスが必要であるため、可用性と一貫性のどちらかを選択する必要があります。つまり、基本的にCPまたはAPです。

私の質問は

  1. Hadoop はどのカテゴリに分類されますか。

  2. 6 つのノード ABC と DEF を持つクラスターがあるとします。ネットワーク障害の間、ノード A、B、C とノード D、E、F が 2 つの独立したクラスターに分割されるとします。

    ノード A での更新がノード D にレプリケートされないため、一貫性のあるパーティション トレラント システム (CP) モデルでは、システムの一貫性により、ネットワークが再び稼働するまで、ユーザーはデータを更新または読み取ることができず、データベースがダウンします。

    一方、Available でパーティション トレラントなシステムでは、ノード A で更新が行われたときに、ノード D のユーザーは古いデータを見ることができますが、ノード D のユーザーが最新のデータを取得できるとは限りません。しかし、しばらくしてネットワークが再び稼働すると、ノード A の最新データがノード D に複製されるため、ノード D のユーザーは最新のデータを表示できるようになります。

    上記の 2 つのシナリオから、AP モデルではデータベースを使用する範囲がないため、障害発生時でもユーザーが読み書きできるようにし、ネットワークが再び稼働したときにユーザーに最新のデータを約束すると結論付けることができます。分断耐性モデル (CP)。ネットワーク障害時の私の見解では、(AP) は (CP) よりも利点があり、(CP) の下のデータベースがダウンしている間、ユーザーはデータを読み書きできます。

  3. Cassandra の結果整合性の概念を除いて、CAP を一緒に提供できるシステムはありますか。

  4. ユーザーが一貫性よりも可用性を選択するのはいつで、その逆も同様です。ユーザーが CP と AP の間で選択を切り替えることができるデータベースはありますか。

前もって感謝します :)

4

1 に答える 1

18

HDFS には、独自の中央決定ポイントであるnamenode. そのため、namenode を停止すると HDFS システム全体が停止する (可用性がない) ため、CP 側にのみ落ちる可能性があります。Hadoop はこれを隠そうとしません。

NameNode は、HDFS クラスターの単一障害点です。HDFS は現在、高可用性システムではありません。NameNode がダウンすると、ファイル システムがオフラインになります。別のマシンでホストできるオプションの SecondaryNameNode があります。edits ファイルを fsimage ファイルにマージすることによって名前空間のチェックポイントを作成するだけで、実際の冗長性は提供しません

データをどこに配置し、どこから読み取ることができるかの決定は、メモリ内の一貫したビューを維持する namenode によって常に処理されるため、HDFS は常に一貫しています (C)。また、レプリケーション ファクターとデータ トポロジ戦略に従って、失われたデータ ノードを処理できるという点で、パーティション トレラントです。

CAPを一緒に提供できるシステムはありますか?

はい、そのようなシステムは、マーケティングやその他の非技術的な出版物でよく言及されています。

ユーザーが一貫性よりも可用性を選択するのはいつで、その逆も同様です。

これは、ビジネス ユース ケースの決定です。可用性がより重要な場合、彼らは AP を選択します。一貫性がより重要な場合、彼らは CP を選択します。一般に、お金が変わるときは、一貫性が優先されます。他のほとんどすべてのケースでは、可用性が優先されます。

ユーザーが CP と AP の間で選択を切り替えることができるデータベースはありますか?

書き込みクォーラムと読み取りクォーラムの両方を変更できるシステムは、必要に応じて CP または AP になるように調整できます。

于 2013-11-12T08:14:07.500 に答える