BASEトランザクションとは?
べーすとらんざくしょん
BASEトランザクションとは、厳密なACID特性の代わりに高可用性とスケーラビリティを優先した、分散システム向けの緩やかな整合性モデルです。
BASEトランザクションとは、分散データベースや大規模NoSQLシステムにおいて採用される整合性モデルで、従来のRDBMSが保証するACID(原子性・一貫性・独立性・永続性)とは対照的なアプローチです。BASEはBasically Available(基本的に利用可能)、Soft state(状態が変化し続ける可能性がある)、Eventually consistent(最終的に整合する)の頭文字です。
各要素の意味は以下の通りです。
- Basically Available:一部のノードに障害が発生しても、システム全体としては応答を返し続ける
- Soft state:更新が伝播する途中など、一時的にノード間でデータの状態が異なることを許容する
- Eventually consistent:新たな更新がなければ、時間の経過とともに全ノードのデータが最終的に一致する
BASEモデルはAmazon DynamoDB、Apache Cassandra、MongoDBなどの分散NoSQLデータベースで広く採用されています。強い整合性よりも低レイテンシーと高可用性を重視するSNSのタイムラインやショッピングカートなどのユースケースに適しています。
一方で「最終的整合性」は、読み取り操作によって古いデータが返される可能性があることを意味します。アプリケーション設計の段階で、どこまでの不整合を許容できるかを慎重に検討する必要があります。
使い方・例文
SNSで「いいね」の数を表示する場合、ユーザーAとユーザーBで数秒間だけ異なる数が見えても問題ありません。このようにBASEモデルは、一時的な不整合が許容できる場面で広く活用されます。
この用語をシェア
最終更新: