web-dev-qa-db-ja.com

BASEの用語の説明

[〜#〜] base [〜#〜]頭字語は、特定のデータベース、通常はNoSQLデータベースのプロパティを説明するために使用されます。 [〜#〜] acid [〜#〜] の逆と呼ばれることがよくあります。

BASEの詳細に触れる記事はほとんどありませんが、ACIDには、原子性、一貫性、分離、および耐久性の各プロパティについて詳しく説明した記事がたくさんあります。ウィキペディアは、用語にのみ捧げます 数行

これにより、定義に関するいくつかの質問が残ります:

Bそっと A利用可能、 S多くの場合、 E腹部一貫性

この記事 と私の想像を使用して、これらのプロパティを次のように解釈しました。

基本的に利用可能は、データの利用可能性を認識している可能性があります。単一のノードに障害が発生した場合、データの一部は利用できませんが、データレイヤー全体は動作し続けます。

  • この解釈は正しいですか、それとも何か他のものを参照していますか?
  • Update:Mauの答え から推論すると、データ層全体が常に新しいデータを受け入れている、つまりロックがないことを意味する可能性があるデータがすぐに挿入されないシナリオ

ソフト状態:私が見つけたのは、データを定期的に更新する必要があるという概念だけでした。更新しないと、データは期限切れになるか削除されます。

  • データベース内のデータの自動削除は奇妙に思えます。
  • 期限切れまたは失効したデータはより意味があります。ただし、この概念は、NoSQLだけでなく、あらゆるタイプの冗長データストレージに適用されます。それから何か他のものを説明していますか?

最終的な一貫性は、十分な時間を与えられた場合、更新が最終的にすべてのサーバーに波及することを意味します。

  • この性質は私には明らかです。

誰かがこれらのプロパティを詳細に説明できますか?

それとも、化学で見られる酸と塩基の概念を指す、とてつもなくフェッチされた無意味な頭字語ですか?

132

BASEの頭字語は Eric Brewer で定義されていました。これは CAP定理 の定式化でも知られています。

CAP定理は、分散コンピューターシステムが次の3つのプロパティのすべてを同時に保証することはできないと述べています。

  • 一貫性
  • 可用性
  • パーティション許容差

BASEシステムは一貫性をあきらめます。

  • 基本的に利用可能は、CAP定理の観点から、システムが利用可能性を保証することを示します。
  • ソフト状態は、入力なしでもシステムの状態が時間とともに変化する可能性があることを示します。これは、結果整合性モデルのためです。
  • 結果整合性は、システムがその時間中に入力を受け取らないことを考えると、システムが時間とともに整合することを示します。

ブリューワーは 頭字語が考案されている

私はその年の初めに彼らのオフィスで生徒たちと[BASE]の頭字語を思いつきました。私はそれが少し工夫されていることに同意しますが、「ACID」もそうです-人々が気づいているよりもはるかに多いので、私たちはそれが十分であると考えました。

143

[〜#〜] base [〜#〜] と関係があります:BASEジャンパーの種類は常にSoftly状態で(新しい関係に)基本的に使用可能です(彼の関係はどれも非常に長く続きません) )と最終的に整合性(1日彼will結婚します)。

37
Mau
  • 基本可用性:ほとんどの場合、データベースは動作しているように見えます。

  • ソフトステート:常にストアが書き込み整合性または相互に整合している必要はありません。

  • 最終的な一貫性:データの一貫性は、任意の数の変更がどのように実行されるかに関して常に必要です。

5

ACIDは物質が示す一連のプロパティであり(化学で)、BASEはそれらを補完するセットであるため、頭字語が作成されてから「基本的に使用可能」な2つのコントラストを示すだけである可能性がありますソフト状態の最終的な整合性」は完全な形式であると判断されました。

1
siebenheaven

ACIDとBASEは、それぞれRDBMSとNoSQLの一貫性モデルです。 ACIDトランザクションははるかに悲観的です。つまり、データの安全性がより心配されます。 NoSQLデータベースの世界では、ACIDトランザクションはファッショナブルではありません。一部のデータベースは、スケーラビリティや復元力などのその他の利点を得るために、即時の一貫性、データの新鮮さ、正確さの要件を緩和しているためです。

BASEの略-

  • 基本可用性-ほとんどの場合、データベースは動作しているように見えます。
  • ソフトステート-ストアは書き込み整合性である必要はなく、異なるレプリカが常に相互に整合している必要もありません。
  • 最終的な整合性-ストアは、後のある時点で整合性を示します(例:読み取り時の遅延)。

したがって、BASEは一貫性を緩和して、システムが一貫性のない状態であっても要求を処理できるようにします。

:ソーシャルネットワーク内でツイートが短期間一貫していない場合、誰も気にしません。ユーザー情報の一貫した状態を保持するよりも、即座に応答することが重要です。

0

他の答えに追加するために、頭字語は、2つの用語間のスケールを示して、RDMSとビッグデータのトランザクションまたはリクエストの信頼性を区別するために派生したと思います。

この記事から 酸vs塩基

化学では、pHは水溶液(水中の溶媒)の相対的な塩基性と酸性度を測定します。 pHスケールは0(バッテリーの酸などの高酸性物質)から14(嘘のような高アルカリ性物質)の範囲です。 77°F(25°C)の純水はpH 7で中性です。

データエンジニアは、化学者から酸と塩基を巧みに借用し、その意味は正確ではありませんが、トランザクション処理の信頼性を議論する際に特定のデータベースシステム内で何が起こっているかを表す適切な頭字語を作成しました。

もう1つのポイントは、Elasticsearchを使用してビッグデータを扱うからです。明確にするために、Elasticsearchのインスタンスはノードであり、ノードのグループがクラスターを形成します。

実用的な観点から私にとって、このコンテキストでのBA(Basically Available)は、Elasticsearchクラスターとその操作を処理する複数のマスターノードのアイデアを持っています。

3つのマスターノードがあり、現在のディレクティングマスターノードがダウンすると、システムは効率の悪い状態ではあるがアップのままになり、別のマスターノードがメインのディレクティングマスターノードとして代わります。 2つのマスターノードがダウンした場合、システムは引き続きアップのままで、最後のマスターノードが引き継ぎます。

0
James Drinkard