http://www.nilidea.com/14
上記サイトより、引用になります
分散コンピューティング環境において、
以下の3つを同時に保証することは不可能であるという定理(3つのうち同時に2つまでしか満たせない)
データの一貫性(Consistency)
=> どこから見ても同じデータが見えること(古いデータと新しいデータが混在しない)
データの可用性 (Availability)
=> どのような場合であってもデータの参照が可能であること(利用不可能な時間がない)
データの分断耐性 (Partition Tolerance)
=> データが複数に分散されており、一箇所のデータが破損した場合でもデータが参照可能であること
[DBの特性による分類]
CA形(分散化の難易度が高い)
・一般的なRDB
AP型(一貫性に欠ける場合がある)
・Cassandra(列指向DB)
・Dynamo、Tokyo Cabinet(KVS)
CP型(停止する場合がある?壊れやすい?)
・Memcached、Redis(KVS)
・MongoDB(ドキュメント指向DB)
・HBase(列指向DB)
[疑問点]
「可用性」って壊れにくさのことで、ダウンタイムが小さいってことだと思うけど、
ここが低いCP型のDBは壊れやすいってこと?
単体では壊れやすいけど「分断耐性」で全体としての耐障害性を高くしているってことなのかなぁ?
上記サイトより、引用になります
分散コンピューティング環境において、
以下の3つを同時に保証することは不可能であるという定理(3つのうち同時に2つまでしか満たせない)
データの一貫性(Consistency)
=> どこから見ても同じデータが見えること(古いデータと新しいデータが混在しない)
データの可用性 (Availability)
=> どのような場合であってもデータの参照が可能であること(利用不可能な時間がない)
データの分断耐性 (Partition Tolerance)
=> データが複数に分散されており、一箇所のデータが破損した場合でもデータが参照可能であること
[DBの特性による分類]
CA形(分散化の難易度が高い)
・一般的なRDB
AP型(一貫性に欠ける場合がある)
・Cassandra(列指向DB)
・Dynamo、Tokyo Cabinet(KVS)
CP型(停止する場合がある?壊れやすい?)
・Memcached、Redis(KVS)
・MongoDB(ドキュメント指向DB)
・HBase(列指向DB)
[疑問点]
「可用性」って壊れにくさのことで、ダウンタイムが小さいってことだと思うけど、
ここが低いCP型のDBは壊れやすいってこと?
単体では壊れやすいけど「分断耐性」で全体としての耐障害性を高くしているってことなのかなぁ?