コンテンツにスキップ

データベース

データベースは、アプリケーションが扱うデータを保存し、検索し、更新するための仕組み。

インフラ視点では、アプリを動かすための依存先として出てくることが多いが、実際は保存方式や整合性、運用方法の違いが大きい。

まず押さえたいこと

  • データを永続化するための仕組み
  • アプリから SQL や API 経由で読み書きする
  • 何をどの形で保存するかで種類が変わる
  • バックアップ、復旧、性能、可用性まで含めて考える必要がある

大きな分類

  • RDB: 表形式で扱う。代表例は MySQL, PostgreSQL
  • NoSQL: JSON や Key-Value など、より柔軟な保存方式
  • Cache: 永続保存ではなく高速参照寄り
  • 分析系: 集計や分析向けに最適化されたもの

RDB がよく使われる理由

  • 表形式なので業務データを整理しやすい
  • JOIN や集計がしやすい
  • ACID 特性を持ち、更新の整合性を保ちやすい
  • 業務システムで必要になる「正しく更新されること」と相性がよい

学習の分け方

  • SQL基礎 テーブル、主キー、外部キー、インデックス、トランザクション、MySQL と PostgreSQL の違いを整理する
  • 運用 接続、監視、バックアップ、性能、障害対応、プラクティス集を整理する
  • AWSでの扱い RDS / Aurora を前提に、配置、接続、可用性、確認ポイントを整理する

どこから見ると理解しやすいか

最初に見る順番は以下でよい。

  1. SELECT INSERT UPDATE DELETE の基本を押さえる
  2. テーブル、主キー、外部キー、インデックスを理解する
  3. RDS/Aurora の作成、接続、バックアップ項目を見る
  4. スロークエリと接続数の見方を覚える
  5. マイグレーションと復旧手順の考え方を押さえる

メモ

  • まずは RDBNoSQL の違いをぼんやり掴めれば十分
  • 実務では、SQL を書く力と同じくらい、運用や障害時の見方も重要
  • DB は「アプリの設定値」ではなく、性能・可用性・復旧性を持つ基盤として見る