メールアドレス(半角):

バックナンバーはこちら

Solution

製品紹介


清田陽司について


つづきはこちら infomation一覧へもどる

CAP定理によるデータベースの分類

リッテル藤井です。

今日は前回の続きで、CAP定理を用いて、
いくつかのDBを分類してみたいと思います。

たとえば、RDBに関してはどうでしょうか。
RDBはACID特性を重視し、ConsistencyとAvailabilityに特化しているため、
CAP定理によりPartition Tolerance(分断耐性)が劣ります。
これがスケーラビリティに劣るひとつの原因になっています。

また、NoSQLであるCassandraについて考えてみましょう。
Cassandraは、クラスターが分断しても、
分断したそれぞれのクラスターがそのまま稼動を続けます。
そのため、クラスター分断時のAvailabilityが確保されます。

しかし、それぞれのクラスターで同じRow Keyに対するデータが異なってしまいます。
つまり、Consistencyは保証されません。

このことから、Cassandraは「AP」型のデータベースと呼ばれます。
CassandraのようなAP型のデータベースとしては、
SimpleDBやCouchDB、Tokyo Cabinet、Dynamoなどがあげられます。

いっぽう、HBaseでは、クラスターが分断した場合は、
状況によってはシステムが停止します。
そのため、Availabilityは確保されません。
その代わり、全てのユーザは同じデータを参照できるため、
Consistencyは確保されます。

このことから、Hbaseは「CP」型のデータベースと呼ばれます。
HbaseのようなCP型のデータベースとしては、
BigTable、Mongo DB、RedisやBerkeley DBなどがあげられます。

このように、データベースをCAPの三つの要素のうちどの二つを満たしているのか
からとらえるようにすると、データベースの特徴を理解することができます。

ご意見・ご感想などぜひ送ってくださいね。
 ↓↓↓
mminfo@littel.co.jp

ページTOPへ

つづきはこちら infomation一覧へもどる