基本・応用情報処理試験

CAP定理

分散処理システムにおいて、一貫性・可用性・分断耐性の3つの特性のうち、最大でも同時に2つまでしか満たすことができないとする定理

一貫性(Consistency)

データの整合性が常に保たれていること

可用性(Availability)

利用したいときに求める分だけ利用できること

分断耐性(Partition Tolerance)

データを複数のサーバに分散して保管していること

一貫性と可用性を保証しようとすると必然的に単一のデータベースとなり、分断耐性がありません。また、一貫性と分断耐性を保証しようとすると、データベースの2相ロックや3相ロックが必要となり可用性が損なわれます(ロック中は利用できない)。そして、可用性と分断耐性を保証するシステムでは、ロックを掛けないので一貫性が損なわれます。