BASEは、「基本的に利用可能、ソフト状態、結果整合性」の略です。
だから、私はここまで来ました:「基本的に利用可能:システムは利用可能ですが、必ずしも特定の時点ですべてのアイテムが含まれているわけではありません」と「結果整合性:特定の時間の後、すべてのノードは一貫していますが、任意の時点で時間はそうではないかもしれません」(私が間違っている場合は私を訂正してください)。
しかし、「ソフトステート」とは正確にはどういう意味ですか?私はまだインターネット上でまともな説明を見つけることができませんでした。
このページ(元々は ここ 、現在は ウェブアーカイブ からのみ利用可能)が役立つかもしれません:
[ソフト状態]は、ユーザーがシステムに入力した情報(状態)であり、ユーザーがそれを維持しないと消えてしまいます。別の言い方をすれば、情報は更新されない限り期限切れになります。
対照的に、典型的な単純なライトスイッチの位置は「ハードステート」です。あなたがそれをひっくり返すならば、それはおそらく永遠に上にとどまります。あなた(または他のユーザー)が明示的に戻って操作した場合にのみ、ダウンに戻ります。
BASEの頭字語は少し工夫されており、ほとんどのNoSQLストアでは、実際にはこの方法でデータを更新する必要はありません。 別の説明 は、ソフト状態とは、結果整合性のためにシステムがユーザーの介入なしに状態を変更することを意味することを示唆しています(ただし、頭字語のソフト状態の部分は冗長です)。
ユーザーが実際に状態を更新する必要がある特定の使用法がいくつかあります。たとえば、Cassandra NoSQLデータベースでは、すべての行に存続時間を与えて完全にソフト状態にすることができます(更新しないと期限切れになります)が、これは異常なモードです使用量(基本的には一時キャッシュ)。
「ソフトステート」は、Cassandra内のゴシッププロトコルにも適用される可能性があります。新しいノードは、受信したゴシップメッセージからクラスターの状態を判別できます。応答しないノードを検出するには、このクラスターの状態を常に更新する必要があります。
ソフト状態とは、ディスクに保持されていないデータを意味しますが、障害が発生した場合は、データを復元できる可能性があります(たとえば、高品質のイメージから低品質のイメージを再作成します)。これと他の興味深い問題に対処する良い記事は クラスターベースのスケーラブルネットワークサービス
「結果整合性」によって変化が起こる可能性があるため、「ソフト状態」とは、システムの状態が時間の経過とともに変化する可能性があることをクラスで教えられました。それが「ソフト」状態と言う理由です。
いくつかのソース: リンク
BASEシステムは、データベースのパフォーマンスを向上させるために一貫性を放棄します。したがって、有名なnosqlデータベースのほとんどは、ACID準拠のリレーショナルデータベースよりも強力です。
ソフト状態は、入力がなくても、システムの状態が時間の経過とともに変化する可能性があることを示します。これは、結果整合性モデルによるものです。結果整合性は、システムがその時間中に入力を受信しない場合、システムが時間の経過とともに一貫性を持つようになることを示します。