データベースシステム - Chapter 1 Database Systems
データベースシステム
データベースとは、データの集合体であり、通常 レコード として構造化されます。データベースシステムはこのレコード群を管理するソフトウェア群のことです。
大規模かつ共有されるデータを扱うため、システムは永続的なストレージ (ディスクドライブやフラッシュメモリ) にデータを保存します。さらに、複数ユーザーによる同時アクセスやシステム障害に対し、データの整合性を保証する必要があります。
データベースシステムは以下の特徴を備える必要があります。
- 永続性 (Persisntence)
- ファイルとディスクへ効率的にアクセスできる
- 共有性 (Sharing)
- 複数のユーザーが同時にデータを操作できる
- 正確性 (Accuracy)
- トランザクションの一貫性を保証する
- 耐障害性 (Crash Recovery)
- システム障害からの復旧を保証する
- 使いやすさ (Usability)
- クエリ言語 (SQL) によりユーザーが柔軟にデータを操作できる
データベースエンジン
データベースアプリケーションは、ユーザーインターフェース と データベースエンジン に分離されます。
これにより、同じ UI で異なるエンジンに接続する、あるいは異なる UI で同じエンジンに接続することが可能になります。
UI はデータベースエンジンに接続した後、その API からメソッドを呼び出すことでデータを操作します。
接続方法には、埋込み型とサーバ型があります。
- 埋込み型 (Embedded)
- アプリケーションとデータベースエンジンが同じプロセスで動作する
- データベースエンジンはアプリケーションの一部として組み込まれる
- サーバ型 (Server)
- アプリケーションとデータベースエンジンが異なるプロセスで動作する
- データベースエンジンはサーバとして動作し、アプリケーションはクライアントとして接続する