データベースエンジン
認証基盤 API とマイクロサービス API のバックエンドとなるデータベースは、In-Memory と PostgreSQL の 2 種類をサポートしています。
環境や用途に応じてエンジンを使い分けることで、開発の速度と本番の信頼性を両立できます。
エンジンの比較
| エンジン | データ永続化 | 推奨環境 | 主な用途 |
|---|---|---|---|
| In-Memory | なし(再起動でリセット) | TestEnv / DevelopEnv | テスト・開発・デモ・スキーマ試行 |
| PostgreSQL | あり(専用 DB) | StagingEnv / ProductionEnv | 本番運用・ステージング検証 |
In-Memory エンジン
データをメモリ上に保持するエンジンです。
再起動やライフサイクルのタイミングでデータがリセットされるため、常にクリーンな状態から始められるのが特徴です。
向いている用途
- スキーマ設計の試行錯誤 — フィールド追加・削除・型変更を何度でもやり直せる。マイグレーションを気にせず自由に変更できる
- デモ・プレゼン — 決まったデータセットをあらかじめ投入しておき、デモ後はリセットして次のデモに備えられる
- 開発中の動作確認 — 本番データを汚すことなく、自由にデータを入れたり消したりできる
メリット
- 環境構築が軽量で起動が速い
- データのリセットがゼロコスト(再起動するだけ)
- 本番データベースの設定なしにすぐ動かせる
PostgreSQL エンジン
組織専用の PostgreSQL データベースとして払い出されるエンジンです。
データが永続化されるため、本番運用に必要な信頼性と整合性を提供します。
向いている用途
- 本番運用 — ユーザーデータ・業務データを安全に永続保存する
- ステージング検証 — 本番同等の DB 構成で動作を確認し、リリース前の最終チェックを行う
- 長期間にわたるデータ蓄積 — 分析・監査・履歴管理など、データを継続的に溜めていく用途
メリット
- 再起動・障害によるデータ消失がない
- 組織専用 DB として他テナントと完全に分離されている
- PostgreSQL 互換のため、将来的なデータ移行・外部連携がしやすい
エンジンと環境の組み合わせ
| 環境 | 推奨エンジン | 理由 |
|---|---|---|
| TestEnv | In-Memory | 繰り返しのテスト・デモに最適。データをリセットしながら使える |
| DevelopEnv | In-Memory | スキーマ変更を気軽に行いながら開発できる |
| StagingEnv | PostgreSQL | 本番同等の DB 構成で最終確認できる |
| ProductionEnv | PostgreSQL | データの永続性と信頼性が必要 |
各マイクロサービス API は独立したデータベースとして払い出されるため、
API をまたいでデータが混在することはありません。