対象試験と出題頻度
BASE特性は、応用情報技術者・データベーススペシャリストで出題されるテーマです。
NoSQLや分散データベースの文脈で、ACID特性との対比問題として登場します。
「可用性を優先する」「結果整合性を許容する」というキーワードを正しく結びつけられるかが問われます。
詳細をクリックして確認
応用情報技術者
★☆☆☆☆
ランクD(発展)参考程度
用語の定義
情報処理試験を勉強していると、「BASE特性って結局何?ACIDとどう違うの?」と混乱しがちです。
BASE特性(BASE properties)とは、一言で言うと
「分散システムで可用性を最優先し、データの整合性は最終的に揃えばよいとする設計思想」
のことです。
イメージとしては、「大型チェーン店の在庫表示」です。
全国の店舗在庫数は、リアルタイムでは多少ズレています。しかし数分後には集計が回って正しい数字に揃います。多少ズレていても店は営業を止めません。
「常に開いている(可用性)」を優先し、「数字はあとで揃えばOK(結果整合性)」と割り切る考え方です。
📊 BASE特性の基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Basically Available, Soft state, Eventual consistency |
| 分類 | 分散データベースの設計思想 |
| 対比される概念 | ACID特性(RDBMSの設計思想) |
| 主な採用先 | NoSQL(Cassandra、DynamoDB、Riak など) |
解説
従来のRDBMSはACID特性を厳守することで「データの正しさ」を保証してきました。
しかしWebサービスが世界規模に拡大すると、サーバを地理的に分散配置せざるを得なくなります。
分散環境では、ネットワーク障害でノード間の通信が一時的に切れることが避けられません。このときACIDのように「全ノードで完全一致」を要求すると、サービスを止めるしかなくなります。
そこで「整合性は多少緩めても、サービスは止めない」という方針へ舵を切った設計思想がBASE特性です。CAP定理の文脈では「AP型(可用性+分断耐性を選ぶ)」に位置づけられます。
BASEの3つの構成要素
| 略 | 英語 | 意味 |
|---|---|---|
| BA | Basically Available (基本的に利用可能) |
一部のノードに障害が起きても、システム全体としてはサービスを提供し続ける |
| S | Soft state (柔軟な状態) |
外部から書き込みが無くても、ノード間の同期処理によりデータの状態は時間とともに変化し得る |
| E | Eventual consistency (結果整合性) |
一時的な不整合は許容するが、十分な時間が経てばすべてのノードで同じ値に収束する |
図解:ACIDとBASEの違い
🔒 ACID(厳格)
RDBMS向け|一貫性を最優先
- Atomicity(原子性)
- Consistency(一貫性)
- Isolation(独立性)
- Durability(永続性)
→ ズレを絶対に許さない
🌊 BASE(柔軟)
NoSQL向け|可用性を最優先
- Basically Available(基本可用)
- Soft state(柔軟な状態)
- Eventual consistency(結果整合性)
→ 一時的なズレはOK、最後に揃う
図解:結果整合性の動き
3つのノードに同じデータを複製している分散DBで、ノード1に書き込みが発生したケースを示します。
書き込み前
書き込み直後
伝播中
収束後
▲ 一時的な不整合を経て、最終的には全ノードで同じ値に揃う=結果整合性
CAP定理との関係
BASE特性を理解するうえで欠かせないのがCAP定理です。
CAP定理は「分散システムでは Consistency(一貫性)・Availability(可用性)・Partition tolerance(分断耐性)の3つを同時に満たすことはできず、最大2つまでしか選べない」という定理です。
CAP定理の3つの選択肢
| 型 | 優先する2要素 | 採用思想 | 代表例 |
|---|---|---|---|
| CA型 | 一貫性+可用性 | ACID | RDBMS(単一構成) |
| CP型 | 一貫性+分断耐性 | ACID寄り | HBase、MongoDB(既定) |
| AP型 | 可用性+分断耐性 | BASE | Cassandra、DynamoDB |
BASE特性は AP型 に対応する設計思想
では、この用語が試験でどのように出題されるか見ていきましょう。
💡 BASE特性の核心を3行で
・分散システム向けの設計思想で、可用性を最優先し整合性を緩める
・3要素は Basically Available / Soft state / Eventual consistency
・CAP定理のAP型に対応し、NoSQLデータベースで採用される
試験ではこう出る!
BASE特性は応用情報技術者・データベーススペシャリストの午前問題で、NoSQLとセットで出題されます。
📊 過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| AP R7秋 午前 問26 |
BASE特性を満たすNoSQLデータベースの記述として適切なものを選ぶ問題。 | ・「結果整合性」のキーワード ・ノード障害時もサービス継続できる点 |
| DB R2秋 午前II 問2 |
AP R7秋問26と同一構成の問題(流用)。 | ・データベーススペシャリストでも同じ枠組みで出題 ・選択肢の文言もほぼ同一 |
| AP R4春 午前 問26 |
CAP定理におけるAとPの特性をもつ分散システムの説明を選ぶ問題。 | ・AP型=可用性と分断耐性を優先 ・一貫性は犠牲にする=結果整合性 |
📝 IPA試験での出題パターン
パターン1:「BASE特性を満たすNoSQLの説明を選べ」
AP R7秋問26のように、ネットワーク上の複数ノードで構成され障害時も処理を継続できる、といった条件設定で出題される。ひっかけは「全ノードで強い一貫性を保証する」(これはACID寄りの説明)。キーワードは「結果整合性」「可用性優先」。
パターン2:「CAP定理のAP型を選べ」
AP R4春問26のように、CAP定理と絡めて出題される。AP型は「可用性+分断耐性」を優先するため、「ノード間の一時的なデータ不整合は許容する」が正解の核。「全要素を同時に満たす」と書かれた選択肢は誤り(CAP定理に反する)。
頻出度はDのため、深追いは不要です。「BASE=可用性優先=結果整合性=NoSQL=AP型」の連鎖だけ押さえておけば得点できます。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. 分散データベースのBASE特性の説明として、最も適切なものはどれでしょうか?
- A. トランザクションの開始から終了までの間、他のトランザクションから処理途中のデータが見えないことを保証する設計思想である。
- B. トランザクションが完了した時点で、すべてのノードのデータが完全に一致していることを厳格に保証する設計思想である。
- C. 一部のノードに障害が起きてもサービスを継続し、データの不整合は時間経過とともに収束させる、可用性を優先した設計思想である。
正解と解説を見る
正解:C
解説:
BASE特性は「Basically Available(基本的に利用可能)」「Soft state(柔軟な状態)」「Eventual consistency(結果整合性)」の3要素から成り、可用性を最優先して一時的な不整合を許容する設計思想です。CAP定理のAP型に対応し、NoSQLデータベースで広く採用されています。
選択肢AはACID特性のうちIsolation(独立性/隔離性)の説明です。トランザクション間の干渉を防ぐ性質であり、BASE特性とは別概念です。選択肢BはACID特性のConsistency(一貫性)の説明に近く、強い整合性を保証する点でBASEとは正反対の思想です。BASEは「最終的に揃えばよい」という結果整合性を採るため、完全な一致を常に保証しません。
よくある質問(FAQ)
Q. BASE特性を採用する具体的な製品にはどんなものがありますか?
代表例はApache Cassandra、Amazon DynamoDB、Riak、CouchDBです。いずれも世界規模のWebサービスで利用されており、ユーザー数の急増に耐えるためにBASE思想を採用しています。例えばDynamoDBはAmazonのショッピングカート機能を支える基盤として開発された経緯があり、「カートに商品が入らない=機会損失」を避けるために可用性を最優先する設計になっています。
Q. 銀行の口座管理にBASE特性は使えますか?
基本的に向きません。銀行の残高は「常に正確である」ことが絶対条件で、一時的にでも残高がズレて見えると二重出金などの重大事故につながります。このため銀行の勘定系システムはACID特性を厳守するRDBMSを採用するのが一般的です。一方でログ収集、SNSのタイムライン、商品レビューといった「多少のズレを許容できる」用途ではBASEが向いています。用途で使い分けるのが鉄則です。
Q. BASEの「Soft state」と「Eventual consistency」は同じことでは?
混同されやすいですが別概念です。Soft stateは「外部からの入力が無くてもノード内部の状態が変化し得る」ことを指し、ノード間の同期処理やTTLによるデータ消去などを許容する性質です。一方Eventual consistencyは「十分な時間が経てば全ノードが同じ値に収束する」という、最終的な保証についての性質です。前者はプロセス、後者はゴールと整理すると区別しやすくなります。
Q. BASE特性は誰が提唱した概念ですか?
eBayの主任アーキテクトだったDan Pritchett氏が2008年にACM Queue誌で発表した論文「BASE: An Acid Alternative」で広く知られるようになりました。eBayのような巨大ECサイトを運営する中で、ACIDだけでは可用性とスケーラビリティを両立できないという実務的な課題から生まれた思想です。なお、IPA試験ではこの背景まで問われたことはないため、頭の片隅に置いておく程度で十分です。