BASE用語の説明


170

BASEの頭字語は、通常のNoSQLデータベース、特定のデータベースの特性を記述するために使用されます。多くの場合、これはACIDの反対と呼ばれます。

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

これは私に定義についていくつかの質問を残します:

B asically A可用性、S oft状態、E整合性

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

基本的に利用可能とは、データの認識された利用可能性を指します。単一のノードに障害が発生した場合、データの一部は利用できなくなりますが、データレイヤー全体は機能し続けます。

  • この解釈は正しいですか、それとも他のことを指しますか?
  • 更新:Mauの回答から推測すると、データレイヤー全体が常に新しいデータを受け入れることを意味しますか?つまり、データがすぐに挿入されるのを防ぐロックシナリオはありませんか?

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

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

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

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

誰かがこれらの特性を詳細に説明できますか?

それとも、化学で見られるような酸と塩基の概念を指すのは、これまでにない意味のない頭字語ですか?

回答:


194

BASEの頭字語は、CAP定理の定式化でも知られているEric Brewerによって定義されました。

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

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

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

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

ブリューワーは頭字語が不自然であることを認めてます:

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


33
基本的に入手可能であるとは限りません。つまり、ほとんど利用可能ですが、サーバーはさまざまな理由でダウンする可能性があります。
DarthVader

@ニールズ、ACIDは可用性または特許の許容範囲をあきらめますか?
パセリエ

@Pacerier、それはCAPの定理がその欠陥を示し始めるところです:)システムがパーティションの許容度を保証するならば、それはパーティションの場合の可用性を犠牲にします。システムが可用性を保証している場合、パーティションの許容範囲はあきらめます。つまり、パーティションによってシステムが使用不可(または不整合)になります。したがって、「可用性」と「パーティションの許容度」は密接に関連していることがわかります。詳細については、この記事をご覧ください
Niels van der Rest

1
非科学的ですが、私の観察から、Webサービスについて話すとき、ACIDはSOAPに関連付けられることが最も多く、BASEはREST(RESTful)サービスとより密接に関連しています。また、イベントの整合性に関するより細かい議論については、MongoDBとCouchDBのサポーター間の議論をご覧ください。
チャールズロス

CAPの「定理」は数学的に(しかし非常に読みやすく)分析され、私が読んでいる記事であるMark Burgessが独自のインテリジェントな方法で議論しています。(私はそもそもウィキペディアによってリンクされていました。)
ワイルドカード2016年

45

それはBASEと関係があります:BASEジャンパーの種類は常に基本的に使用可能(新しい関係に対して)、ソフト状態(彼の関係はどれも非常に長く続くことはありません)、そして結果的に一貫性があります(彼結婚する 1日)。


OK、ACIDデータベースはBASEよりもはるかに優れているとおっしゃっていますか。
Pacerier 2014

2
逆に、BASEは常にもっと楽しいです。
マウ

8
まあ、それは実際には私の毎日のパンです。真剣な答えが必要な場合は、ACIDです。
マウ

1
@Pacerierエリック・ブリュワーhoは、銀行や金融機関は、ACIDの制約について話しながら、現実には、彼らは厳密に(話すされていないことを示し、用語ベースを造語highscalability.com/blog/2013/5/1/...
andand

2
@PacerierとMau、NewSQLはどうですか?NoSQL(BASE)とRelational(ACID)のどちらを選択しますか?
Boris Mocialov、2015年

6
  • 基本的な可用性:データベースはほとんどの時間で動作しているようです。

  • ソフト状態:ストアは、常に書き込み整合性または相互整合性である必要はありません。

  • 結果の一貫性:データは、変更がいくつ実行されるかに関して、常に一貫している必要があります。


4

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

BASEの略-

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

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

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


1
結果整合性は、実際には望ましくない影響を及ぼします。LinkedInチャットのスローダウンを経験したことがありますか?1つの文で返信してから、別の文で返信します。その後、結果整合性またはその適切な実装の欠如により、2つの応答が一緒に切り替わることになります。はい、最後にチャットで2つの返信がありましたが、意図した順序ではありません。
zmechanic

2

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

この記事から酸対塩基

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

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

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

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

3つのマスターノードがあり、現在指示しているマスターノードがダウンした場合、システムの状態は維持されますが、効率は低下しますが、別のマスターノードがメインの指示マスターノードとして機能します。2つのマスターノードがダウンしても、システムは稼働したままで、最後のマスターノードが引き継ぎます。


0

ACIDは物質が示す一連の特性のセットであり(化学では)、BASEはそれらの補足セットであるため、頭字語が作成された2つの間のコントラストを表示し、「基本的に使用可能ソフトステートの結果整合性」が完全形式であるために決定されました。


2
これは、頭字語がどのようにして存在するようになったかを説明しますが、さまざまなプロパティの意味を説明していません。
Jmb

「基本的に」のように、それらがもたらす意味においてさえ重要ではない単語の使用は、頭字語が最初に選択され(ACID対BASE)、次に単語が頭字語の一部を埋めるように見つかったことが示唆されます。そのため、これらの単語の意味に関する説明や参照(ACIDの単語と比較すると、RDBMSに関するすべてのページで説明を見つけることができます)があまりありません。
siebenheaven 2017

「基本的に利用可能」は強制されているように見えるので、これは興味深いことに正しいと思います。
リカルドペドロニ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.