データベース

データベース

永続化と効率的な問い合わせ。最も価値があるのは障害時に壊れないこと。

執筆済 ソフトウェア開発データベース

データを永続化し、効率よく問い合わせられるようにするシステム。

ファイルとの違い#

ファイルでも保存はできる。DB が提供するのは

機能 内容
問い合わせ 条件で絞る、結合する、集計する
索引 全件走査せずに見つける
トランザクション 途中で落ちても壊れない
並行制御 同時アクセスの整合
制約 不正なデータを拒否する
復旧 障害からの回復

「壊れない」ことが最も価値がある。 問い合わせは自分でも書けるが、 障害時の整合性を自前で保証するのは非常に難しい。

構成#

参考文献#

  • Martin Kleppmann. Designing Data-Intensive Applications. O’Reilly, 2017.
  • Raghu Ramakrishnan, Johannes Gehrke. Database Management Systems, 3rd ed. McGraw-Hill, 2003.
ノート一覧を閉じる