データベース¶
データベースは、アプリケーションが扱うデータを保存し、検索し、更新するための仕組み。
インフラ視点では、アプリを動かすための依存先として出てくることが多いが、実際は保存方式や整合性、運用方法の違いが大きい。
まず押さえたいこと¶
- データを永続化するための仕組み
- アプリから SQL や API 経由で読み書きする
- 何をどの形で保存するかで種類が変わる
- バックアップ、復旧、性能、可用性まで含めて考える必要がある
大きな分類¶
RDB: 表形式で扱う。代表例は MySQL, PostgreSQLNoSQL: JSON や Key-Value など、より柔軟な保存方式Cache: 永続保存ではなく高速参照寄り分析系: 集計や分析向けに最適化されたもの
RDB がよく使われる理由¶
- 表形式なので業務データを整理しやすい
JOINや集計がしやすいACID特性を持ち、更新の整合性を保ちやすい- 業務システムで必要になる「正しく更新されること」と相性がよい
学習の分け方¶
- SQL基礎 テーブル、主キー、外部キー、インデックス、トランザクション、MySQL と PostgreSQL の違いを整理する
- 運用 接続、監視、バックアップ、性能、障害対応、プラクティス集を整理する
- AWSでの扱い RDS / Aurora を前提に、配置、接続、可用性、確認ポイントを整理する
どこから見ると理解しやすいか¶
最初に見る順番は以下でよい。
SELECTINSERTUPDATEDELETEの基本を押さえる- テーブル、主キー、外部キー、インデックスを理解する
- RDS/Aurora の作成、接続、バックアップ項目を見る
- スロークエリと接続数の見方を覚える
- マイグレーションと復旧手順の考え方を押さえる
メモ¶
- まずは
RDBとNoSQLの違いをぼんやり掴めれば十分 - 実務では、SQL を書く力と同じくらい、運用や障害時の見方も重要
- DB は「アプリの設定値」ではなく、性能・可用性・復旧性を持つ基盤として見る