違いシリーズ一覧に戻る
テクノロジ系

ACID特性とBASE特性の違い

ACID特性はRDBMSのトランザクション処理に求められる4つの性質、BASE特性はNoSQLなど分散システムで採用される緩やかな一貫性モデルです。CAP定理(一貫性・可用性・分断耐性のうち2つしか同時に満たせない)を背景に、用途に応じて使い分けます。

比較表で見る違い

観点ACID特性BASE特性
由来RDBMSのトランザクション要件分散システム・NoSQLの実装思想
一貫性強整合性(常に最新)結果整合性(時間経過で収束)
A(Atomicity / Available)原子性:全成功or全失敗可用性:常に応答可能
C(Consistency)一貫性:制約を保持(該当なし)
I/S(Isolation / Soft-state)独立性:並行Txの分離ソフト状態:一時的な不整合を許容
D/E(Durability / Eventually consistent)永続性:完了後は失われない結果整合性:いつかは整合
採用DB例Oracle、PostgreSQL、MySQLCassandra、DynamoDB、Riak

それぞれの詳しい解説

AACID特性

RDBMSのトランザクションに求められる4つの性質、Atomicity(原子性)・Consistency(一貫性)・Isolation(独立性)・Durability(永続性)の頭文字。銀行口座振込のような厳密な整合性が必要な処理を支えます。COMMIT/ROLLBACKによる原子性、ログ先行書き込みによる永続性、ロック等による独立性で実現されます。

  • 原子性:全成功か全失敗

  • 一貫性:制約違反を起こさない

  • 独立性:並行トランザクションが干渉しない

  • 永続性:完了後の結果は障害でも失われない

BBASE特性

分散システム向けの緩やかな一貫性モデル。Basically Available(基本的に常に利用可能)・Soft-state(状態は変化しうる)・Eventually consistent(最終的には整合)の頭文字。CAP定理で可用性と分断耐性を優先する代わりに一貫性を緩める設計思想で、CassandraやDynamoDBなどNoSQLで採用されます。

  • Basically Available:常に応答する

  • Soft-state:状態が時間で変化

  • Eventually consistent:最終的に整合

  • NoSQL(Cassandra・DynamoDB)で採用

試験対策のポイント

「ACID=強整合・RDBMS、BASE=結果整合・NoSQL・分散」で整理。CAP定理を背景に使い分け。

理解度チェック(2問)

Q1. ACID特性の「I」が示すものはどれか。

  1. 1Integration(統合性)
  2. 2Isolation(独立性)
  3. 3Identity(同一性)
  4. 4Information(情報性)
解答・解説を見る

正解:2. Isolation(独立性)

ACIDのIはIsolation(独立性)で、並行実行されるトランザクションが互いに干渉しない性質。A=Atomicity、C=Consistency、D=Durabilityと組み合わせて覚える。

Q2. BASE特性に関する記述として、適切なものはどれか。

  1. 1すべてのトランザクションで強整合性を保証する
  2. 2一時的な不整合を許容し、最終的な整合性を目指す
  3. 3RDBMSの標準的なトランザクションモデルである
  4. 4可用性より一貫性を最優先する
解答・解説を見る

正解:2. 一時的な不整合を許容し、最終的な整合性を目指す

BASE特性は分散システムで可用性を優先し、結果整合性で一時的な不整合を許容するモデル。強整合・RDBMS標準・一貫性優先はACIDの特徴。

同じ分野の「違い」記事

応用情報 記憶定着問題で演習する