本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
常见问题解答
本节提供了有关在多租户 SaaS 应用程序中实现托管 PostgreSQL 的常见问题的答案。
PostgreSQL 托管选项有哪些? AWS
AWS 提供兼容亚马逊 Aurora PostgreSQL 和适用于 PostgreSQL 的亚马逊关系数据库服务(亚马逊 RDS)。 AWS 还拥有广泛的托管数据库产品目录
哪种服务最适合 SaaS 应用程序?
你可以将兼容 Aurora PostgreSQL 和 Amazon RDS for PostgreSQL 用于 SaaS 应用程序以及本指南中讨论的所有 SaaS 分区模型。这两种服务在可扩展性、崩溃恢复、故障转移、存储选项、高可用性、灾难恢复、备份以及每个选项可用的实例类别方面存在差异。最佳选择将取决于您的具体用例。使用本指南中的决策矩阵为您的用例选择最佳选项。
如果我决定将 PostgreSQL 数据库与多租户 SaaS 应用程序一起使用,我应该考虑哪些特殊要求?
与 SaaS 应用程序中使用的任何数据存储一样,最重要的考虑因素是维护租户数据隔离的方法。如本指南中所述,您可以通过多种方式使用 AWS 托管 PostgreSQL 产品实现租户数据隔离。此外,对于任何 PostgreSQL 实现,您都应考虑在每个租户的基础上进行性能隔离。
我可以使用哪些模型通过 PostgreSQL 维护租户数据隔离?
您可以使用孤岛、桥接和池模型作为 SaaS 分区策略来维护租户数据隔离。有关这些模型以及如何将其应用于 PostgreSQL 的讨论,请参阅本指南中的 PostgreSQL 多租户 SaaS 分区模型部分。
如何使用在多个租户之间共享的单个 PostgreSQL 数据库来维护租户数据隔离?
PostgreSQL 支持行级安全 (RLS) 功能,您可以使用该功能在单个 PostgreSQL 数据库或实例中强制执行租户数据隔离。此外,您可以在单个实例中为每个租户配置单独的 PostgreSQL 数据库,或者为每个租户创建架构以实现此目标。有关这些方法的优缺点,请参阅本指南中的行级安全建议部分。