CAP定理対BASE(NoSQL)


12

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

回答:


15

CAPは基本的に、BASEとACIDが反対側にある連続体です。

CAP図

CAPは、一貫性、可用性、およびパーティションの許容範囲です。基本的には2つ選択できますが、3つすべてを選択することはできません。

ACIDは一貫性と可用性に重点を置いています。

BASEはパーティションの許容度と可用性に焦点を当て、一貫性をウィンドウの外に出します。


1
適切なACIDデータベースでは、一貫性とパーティションの許容度に焦点を当てる必要があります。パーティション許容値をウィンドウから外す(つまり、それを言い換えると)と、パーティションが発生するたびに一貫性が失われるためです。
ピーター2016年

ACIDは可用性に重点を置いていませ。「A」は原子性の略で、アボート-ロールバック-再起動などをカバーします。
momo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.