マルチテナント
マルチテナントは、相互に情報を参照してはいけない複数の顧客向けに、サービスを提供すること全般を指す。
データ混濁を避けつつリソースを最大限効率的に利用するために、複数の マルチテナントアーキテクチャが考えられる。
参考スライド
つらくないマルチテナンシーを求めて: 全て見せます! SmartHR データベース移行プロジェクトの裏側 / builderscon 2018
クラウドにはやっぱりマルチテナントだけど:クラウド的な世界へ:オルタナティブ・ブログ
First-degree multi-tenancy (第1級マルチテナント)
全ユーザーが同じDBスキーマを共有し、同じアプリケーションのリリースを利用。最も効率的で、Salesforceなどはこれを採用。
Second-degree multi-tenancy (第2級マルチテナント)
全ユーザーが同じDBスキーマを共有するが、ユーザー企業ごとにアプリケーションのリリースは異なることができる。第1級よりユーザーへは柔軟だが、運用コストはかかる。
Lesser-degree multi-tenancy (弱いマルチテナント)
DBスキーマは共有せずユーザー企業ごとに別々で、アプリケーションのリリースも別にできる。ユーザーには極めて柔軟だが、運用コストはもっともかかる。OracleのSaaSはこれを採用。