RDBMS

リレーショナルデータベース管理システム

RDBMSはテーブル(リレーション)でデータを管理し、 SQLでクエリを行うデータベース。ACIDトランザクション、正規化、 参照整合性により、データの一貫性と信頼性を保証します。

主要RDBMS

PostgreSQL

  • • 高機能、拡張性が高い
  • • JSONB対応(NoSQLライク)
  • • 複雑なクエリに強い
  • • MVCCによる高い並行性
  • • 豊富な拡張機能(PostGIS等)

MySQL

  • • シンプル、高速
  • • 広く普及、情報が豊富
  • • ストレージエンジン選択可能
  • • InnoDB(デフォルト)でACID対応
  • • レプリケーションが容易

正規化

第1正規形(1NF)

各カラムが原子値(繰り返しグループなし)

第2正規形(2NF)

1NF + 部分関数従属の排除(複合キーの一部に依存しない)

第3正規形(3NF)

2NF + 推移的関数従属の排除(非キー属性間の依存なし)

非正規化

パフォーマンス向上のため意図的に冗長性を持たせる場合もある。 読み取り性能 vs 更新時の整合性のトレードオフ。

SRE/インフラ観点

選定ポイント

  • PostgreSQL: 複雑なクエリ、拡張性重視、JSONBも使いたい
  • MySQL: シンプル、実績重視、エコシステムの充実
  • • クラウドではマネージドサービス(RDS, Cloud SQL)を検討

運用の重要ポイント

  • • コネクションプールの設定
  • • スロークエリの監視と最適化
  • • 定期的なバキューム(PostgreSQL)/ Optimize(MySQL)
  • • バックアップとリストア手順の確認

詳細トピック