解説でもDBMSは既知のものとして進んでいくから非常に困る。 DBMS(データベース管理システム)について
DBMS(データベース管理システム) は、データベースを作成、管理、運用するためのソフトウェアです。DBMSは、データの効率的な保存、検索、管理、操作をサポートし、ユーザーがデータベースに対してクエリを発行し、データを管理するためのインターフェースを提供します。
主な機能:
- データ定義: データベースの構造を設計し、テーブルやビュー、インデックスなどを定義します。
- データ操作: データの挿入、更新、削除、検索などの操作を行います。
- データ管理: データの整合性、セキュリティ、バックアップ、リカバリーなどを管理します。
- ユーザー管理: ユーザーのアクセス権限やロールを管理し、データベースへのアクセスを制御します。
- トランザクション管理: データの一貫性を保つために、複数の操作を一つのトランザクションとして処理します。
主要なDBMSの例:
- リレーショナルDBMS(RDBMS): MySQL、PostgreSQL、Oracle Database、Microsoft SQL Server
- NoSQL DBMS: MongoDB、Cassandra、Redis
トランザクション処理に必要な4つの不可欠特性(ACID特性)
トランザクション処理では、データの一貫性と信頼性を保つために、以下の4つの特性(ACID特性)が重要です。
原子性(Atomicity)
- 説明: トランザクションは、すべての操作が完全に実行されるか、まったく実行されないかのいずれかであるべきです。部分的な実行が許されないため、トランザクションの一部が成功し、他の部分が失敗することはありません。
- 例: 銀行の振込処理では、送金と受取の両方が成功しない限り、いずれも実行されないようにします。
一貫性(Consistency)
- 説明: トランザクションが完了した後、データベースは一貫した状態でなければなりません。トランザクションが実行される前と後で、データベースの整合性制約が維持されるべきです。
- 例: データベース内の金額が、振込後も正しい合計額であることを保証します。
独立性(Isolation)
- 説明: 同時に実行されるトランザクションは、お互いに影響を与えることなく、個別に処理されるべきです。他のトランザクションが進行中であっても、自分のトランザクションの結果は他のトランザクションから隠されるべきです。
- 例: 2人のユーザーが同時に同じ口座にアクセスしても、お互いの操作が干渉しないようにします。
耐久性(Durability)
- 説明: トランザクションが完了した後、その変更は永続的でなければなりません。システムがクラッシュしても、トランザクションによる変更は失われることがありません。
- 例: 振込処理が完了した後、データベースに記録された変更は、システム障害が発生しても消えることはありません。
これらのACID特性は、データベースシステムが高い信頼性と整合性を提供するために不可欠です。

コメント