コンテンツへスキップ
uencoder

BASE

BASE は弱い一貫性の NoSQL モデルであり、基本的に利用可能・ソフト状態・結果整合性で、強い一貫性を可用性とスケーラビリティと引き換えにする。

目的

一時的な不整合を受け入れつつ、分散システムに高可用性と水平スケーリングを提供する。

メカニズム

基本的に利用可能は、部分障害があっても応答を続けること。ソフト状態は、状態が分岐しうる(そして最終的には収束すべき)こと。結果整合性は、更新が止まればすべてのレプリカが同じ値へ収束することである。ACID の対極に位置し、このトレードオフは CAP 定理が規定する。

ユースケース

  • 大規模な分散ストレージ
  • CDN とキャッシュ
  • ソーシャルフィード
  • ショッピングカートとレコメンド

例

  • 入力
    Brief inconsistency after a write
    Output
    All replicas eventually converge

    Eventual consistency

よくあるエラー

Using BASE when the business needs strong consistency
Use ACID systems for finance and similar domains

関連用語

References