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)
- • バックアップとリストア手順の確認