本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
最佳实践
本节列出了本指南中的一些高级要点。有关每点的详细讨论,请点击相应章节的链接。
比较托管 PostgreSQL 的 AWS 选项
AWS 提供了两种在托管环境中运行 PostgreSQL 的主要方法。(在这种情况下,托管意味着服务部分或完全支持 PostgreSQL 基础架构和 DBMS。) AWS 开启的托管 PostgreSQL 选项 AWS 具有自动备份、故障转移、优化和一些 PostgreSQL 管理的好处。作为托管选项, AWS 提供兼容亚马逊 Aurora PostgreSQL 的版本和适用于 PostgreSQL 的亚马逊关系数据库服务(亚马逊 RDS)。通过分析您的 PostgreSQL 用例,您可以从这两个模型中选择最佳选择。有关更多信息,请参阅本指南中的 “在 Amazon RDS 和 Aurora 之间进行选择” 部分。
选择多租户 SaaS 分区模型
您可以从三种适用于 PostgreSQL 的 SaaS 分区模型中进行选择:孤岛、桥接和池。每种模型都有优点和缺点,您应该根据自己的用例选择最优的模型。适用于 PostgreSQL 的亚马逊 RDS 和兼容 Aurora PostgreSQL 的 Aurora 支持这三种型号。选择模型对于保持 SaaS 应用程序中的租户数据隔离至关重要。有关这些模型的详细讨论,请参阅本指南中的 PostgreSQL 多租户 SaaS 分区模型部分。
为池 SaaS 分区模型使用行级安全
使用 PostgreSQL 在池模型中保持租户数据隔离需要行级安全 (RLS)。这是因为在池模型中,基础架构、PostgreSQL 数据库或架构之间没有按租户划分的逻辑分隔。RLS 将隔离策略的实施集中在数据库级别,并消除了软件开发人员维护这种隔离的负担。您可以使用 RLS 将数据库操作限制在特定租户范围内。有关更多信息和示例,请参阅本指南中的行级安全建议部分。