ADR-0003 マルチテナント方式
- ステータス: 採用
- 日付: 2026-06-20
背景
SaaS として複数テナントのデータを安全かつコスト効率よく扱う必要がある。 方式は大きく「共有DB + 行分離」「スキーマ分離」「DB 分離」の 3 つ。
決定
初期は 共有DB + tenant_id 行分離 を採用し、PostgreSQL の RLS で
分離を DB レベルに強制する。
- コスト効率と運用(単一マイグレーション)が最も容易。
- RLS によりアプリのバグでのテナント越境を防ぐ多層防御を実現。
- 将来、特定の大口テナントを分離する必要が出たら、スキーマ分離や DB 分離へ段階的に移行できる設計余地を残す。
影響
- すべてのテナント所属テーブルに
tenant_idと RLS ポリシーが必要。 - DB アクセスは
withTenant経由を必須とする。 - 詳細は マルチテナント設計 を参照。