nosql 分散データベース システムについて話すとき、それらすべてが CAP 定理の 3 つのうちの 2 つに該当することがわかっています。ネットワーク障害とノード障害が避けられない分散クラスターの場合、パーティション トレランスが必要であるため、可用性と一貫性のどちらかを選択する必要があります。つまり、基本的にCPまたはAPです。
私の質問は
Hadoop はどのカテゴリに分類されますか。
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) の下のデータベースがダウンしている間、ユーザーはデータを読み書きできます。
Cassandra の結果整合性の概念を除いて、CAP を一緒に提供できるシステムはありますか。
ユーザーが一貫性よりも可用性を選択するのはいつで、その逆も同様です。ユーザーが CP と AP の間で選択を切り替えることができるデータベースはありますか。
前もって感謝します :)