データベース
永続化と効率的な問い合わせ。最も価値があるのは障害時に壊れないこと。
データを永続化し、効率よく問い合わせられるようにするシステム。
ファイルとの違い#
ファイルでも保存はできる。DB が提供するのは
| 機能 | 内容 |
|---|---|
| 問い合わせ | 条件で絞る、結合する、集計する |
| 索引 | 全件走査せずに見つける |
| トランザクション | 途中で落ちても壊れない |
| 並行制御 | 同時アクセスの整合 |
| 制約 | 不正なデータを拒否する |
| 復旧 | 障害からの回復 |
「壊れない」ことが最も価値がある。 問い合わせは自分でも書けるが、 障害時の整合性を自前で保証するのは非常に難しい。
構成#
参考文献#
- Martin Kleppmann. Designing Data-Intensive Applications. O’Reilly, 2017.
- Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems, 3rd ed. McGraw-Hill, 2003.