マルチテナントのデータベース設計
#設計 #データベース #SaaSビジネス #マルチテナント
Multi Tenants in 1 Database:複数企業のデータを一つのデータベースで管理
実装難易度が高いが最もコスト効率が良い
基本的に多層防御で対策する
アプリケーション層
JWT + ミドルウェアなどでtenant_idを安全に伝搬する
ORMのスコープでwhere句自動付与
DB層
Row Level Security
1 Tenant in 1 Database:テナントごとにデータベースを分けて管理。物理的なインスタンスは同じ。
1 Tenant in 1 Instance:テナントごとにデータベースを分けて管理。物理的なインスタンスも分け企業ごとにデータベースインスタンスを作成。