本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
為多租戶軟體 SaaS 應用程式實作受管理的 PostgreSQL AWS
泰比沃德和托馬斯·戴維斯,Amazon Web Services()AWS
2024 年 4 月 (文件歷史記錄)
當您選取要儲存作業資料的資料庫時,請務必考慮資料的結構化方式、資料將回應的查詢、提供答案的速度,以及資料平台本身的彈性。除了這些一般考量之外,軟體即服務 (SaaS) 對作業資料的影響,例如效能隔離、租用戶安全性,以及多租戶 SaaS 應用程式典型資料的獨特特性和設計模式。本指南討論這些因素如何適用於使用 Amazon Web Services (AWS) 上的 PostgreSQL 資料庫作為多租戶 SaaS 應用程式的主要操作資料存放區。具體而言,本指南著重於兩個 AWS 受管 PostgreSQL 選項:Amazon Aurora PostgreSQL 相容版本和適用於 PostgreSQL 的 Amazon Relational Database Service 服務 (Amazon RDS)。
目標業務成果
本指南針對使用與 Aurora PostgreSQL 相容的多租戶 SaaS 應用程式提供最佳實務的詳細分析。我們建議您使用本指南中提供的設計模式和概念,為多租戶 SaaS 應用程式提供資訊和標準化您的 Aurora PostgreSQL 相容或 Amazon RDS (適用於 PostgreSQL) 的實作。
此規範指引有助於達成下列業務成果:
-
為您的使用案例選擇最佳的 AWS 受管 PostgreSQL 選項 — 本指南將資料庫使用情況的關聯式和非關聯式選項與 SaaS 應用程式進行比較。它還討論了哪些使用案例最適用於 Aurora 與 PostgreSQL 相容和 Amazon RDS for PostgreSQL。此資訊將有助於為您的 SaaS 應用程式選擇最佳選項。
-
透過採用 SaaS 分割模型來強制實施 SaaS 最佳實務 — 本指南討論並比較適用於 PostgreSQL 資料庫管理系統 (DBMS) 的三種廣泛 SaaS 分割模型:集區、橋接和筒倉模型及其變化。這些方法可擷取 SaaS 最佳實務,並在設計 SaaS 應用程式時提供彈性。實施 SaaS 分區模型是保留最佳實踐的關鍵部分。
-
在集區 SaaS 磁碟分割模型中有效使用 RLS — 資料列層級安全性 (RLS) 透過限制可根據使用者或內容變數檢視的資料列,來支援在單一 PostgreSQL 表格中強制執行租用戶資料隔離。當您使用集區磁碟分割模式時,需要 RLS 才能防止跨租用戶存取。