在 上實作適用於多租用戶 SaaS 應用程式的受管 PostgreSQL AWS - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 上實作適用於多租用戶 SaaS 應用程式的受管 PostgreSQL AWS

Tabby Ward 和 Thomas Davis,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 相容和 Amazon RDS for PostgreSQL 的多租戶 SaaS 應用程式最佳實務的詳細分析。我們建議您使用本指南中提供的設計模式和概念,為多租戶 SaaS 應用程式通知和標準化 Aurora PostgreSQL 相容或 Amazon RDS for PostgreSQL 的實作。

此方案指引有助於實現下列業務成果:

  • 為您的使用案例選擇最佳的 AWS 受管 PostgreSQL 選項 – 本指南會將資料庫用量的關聯式和非關聯式選項與 SaaS 應用程式進行比較。它還討論了哪些使用案例最適合 Aurora PostgreSQL 相容和 Amazon RDS for PostgreSQL。此資訊將有助於為您的 SaaS 應用程式選擇最佳選項。

  • 透過採用 SaaS 分割模型來強制執行 SaaS 最佳實務 – 本指南討論並比較三種適用於 PostgreSQL 資料庫管理系統 (DBMS) 的廣泛 SaaS 分割模型:集區、橋接和孤立模型及其變化。這些方法會擷取 SaaS 最佳實務,並在設計 SaaS 應用程式時提供彈性。SaaS 分割模型的強制執行是保留最佳實務的重要部分。

  • 集區 SaaS 分割模型中有效使用 RLS – 資料列層級安全性 (RLS) 透過限制可以根據使用者或內容變數檢視的資料列,支援在單一 PostgreSQL 資料表中強制執行租用戶資料隔離。當您使用集區分割模型時,需要 RLS 以防止跨租用戶存取。