CAP定理対BASE(NoSQL)
こんにちは、私はNoSQLに関する私の仕事のための小さな論文を書こうとしています。CAP定理をすべてではないにしてもほとんどのNoSQLデータベースが準拠していると説明しました。私は後でNoSQLとRDBMSの違いについての論文を読みましたが、NoSQLデータベースはACIDの対応するBASEを使用すると述べています。
BASE、ACID、CAPのプロパティは知っていますが、CAPの定理とBASEの関係を理解するのに苦労しました。私が理解しているように、CAPの定理はBASEの頭字語につながりますが、それは正しい結論ですか?または、いくつかの類似したプロパティを共有するデータベースを「構築」するための2つの異なるアプローチですか?
このブログ投稿(http://www.johndcook.com/blog/2009/07/06/brewer-cap-theorem-base/)で、著者はこう書いています:
フォールトトレラントなBASEの世界でソフトウェアを開発するのは、退屈なACIDの世界と比較すると困難ですが、BrewerのCAPの定理では、スケールアップする場合は選択肢がないとされています。ただし、Brewerがこのプレゼンテーションで指摘しているように、ACIDとBASEの間には連続性があります。優先順位に従って、連続体の一方の端またはもう一方の端にどれだけ近づけるかを決定できます。
別の記事で著者はこう書いている:
上記のNOSQLデータベースの多くは、より良い可用性とパーティショニングを実現するために、整合性に関する要件を緩和しています。これにより、システムはBASE(基本的に使用可能、ソフト状態、結果的に整合性)と呼ばれます。これらには古典的な意味でのトランザクションがなく、データモデルに制約を導入して、より優れたパーティションスキーム(Dynamoシステムなど)を有効にします。CAP、ACID、およびBASEのより包括的な議論は、この紹介で利用できます。
これは、CAP がBASEをもたらすことを明確に述べています。
誰かがこれを明確にして、私の混乱を取り除くことができるといいのですが。
ありがとう
-Mestika