PostgreSQL 集區模型 - AWS 規範指南

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

PostgreSQL 集區模型

集區模型的實作方式是佈建單一 PostgreSQL 執行個體 (Amazon RDS 或 Aurora),並使用列層級安全性 (RLS) 來維護租用戶資料隔離。RLS 原則會限制SELECT查詢傳回資料表中的哪些資料列,或哪些資料列受INSERTUPDATE、和DELETE命令影響。集區模型將所有租用戶資料集中在單一 PostgreSQL 結構描述中,因此更具成本效益,並且需要較少的維護作業負荷。由於其集中化,監控此解決方案也明顯簡單。但是,監視集區模型中的承租人特定影響通常需要在應用程式中進行一些額外的儀器。這是因為 PostgreSQL 預設不知道哪個租用戶正在消耗資源。由於不需要新的基礎結構,所以可以簡化租用戶上線。這種敏捷性可讓您更輕鬆地完成快速且自動化的租用戶上線工作流程。

SaaS PostgreSQL pool model

雖然池模型通常更具成本效益並且管理更簡單,但它確實有一些缺點。在泳池模型中無法完全消除嘈雜的鄰居現象。不過,可以透過確保 PostgreSQL 執行個體上有適當的資源,以及使用策略減少 PostgreSQL 中的負載 (例如將查詢卸載到僅供讀取複本或 Amazon) 來減輕此問題 ElastiCache。有效監視在回應租用戶效能隔離問題方面也扮演著重要角色,因為應用程式檢測可以記錄和監視承租人特定的活動。最後,某些 SaaS 客戶可能不會發現 RLS 提供的邏輯分離足夠,並且可能會要求採取額外的隔離措施。