BASE
BASE は弱い一貫性の NoSQL モデルであり、基本的に利用可能・ソフト状態・結果整合性で、強い一貫性を可用性とスケーラビリティと引き換えにする。
目的
一時的な不整合を受け入れつつ、分散システムに高可用性と水平スケーリングを提供する。
メカニズム
基本的に利用可能は、部分障害があっても応答を続けること。ソフト状態は、状態が分岐しうる(そして最終的には収束すべき)こと。結果整合性は、更新が止まればすべてのレプリカが同じ値へ収束することである。ACID の対極に位置し、このトレードオフは CAP 定理が規定する。
ユースケース
- 大規模な分散ストレージ
- CDN とキャッシュ
- ソーシャルフィード
- ショッピングカートとレコメンド
例
- 入力
Brief inconsistency after a writeOutputAll replicas eventually convergeEventual consistency
よくあるエラー
- Using BASE when the business needs strong consistency
- Use ACID systems for finance and similar domains
関連用語
ACID
ACID はリレーショナルトランザクションの四性質:原子性(全実行または全ロールバック)、一貫性(制約保持)、隔離性(並行互不干渉)、永続性(コミット後不消失)。 用語集
CAP Theorem
CAP 定理とは、ネットワーク分断が発生した場合、分散システムは一貫性 (C) と可用性 (A) のどちらか一方しか満たせず、3 つを同時に成立させることはできないという定理である。 用語集
NoSQL
NoSQLは非リレーショナルデータベースの総称である。ドキュメント、キー・バリュー、カラムファミリー、グラフの各モデルを含み、スケーラビリティと柔軟なスキーマのために設計されている。 用語集