【SaaS架构】支持多租户SaaS的PostgreSQL --最佳实践

视频号

微信公众号

知识星球

Chinese, Simplified

本节列出了本指南的一些重要内容。有关每一点的详细讨论,请单击相应章节的链接。

比较托管PostgreSQL的AWS选项

AWS提供了在托管环境中运行PostgreSQL的两种主要方法。(在本文中,托管意味着AWS服务部分或完全支持PostgreSQL基础设施和DBMS。)AWS上的托管PostgreSQL选项具有自动备份、故障切换、优化和PostgreSQL管理的好处。作为托管选项,AWS为PostgreSQL提供Amazon Aurora PostgreSQL兼容版和Amazon关系数据库服务(Amazon RDS)。通过分析PostgreSQL用例,您可以从这两个模型中选择最佳选择。有关更多信息,请参阅本指南中的“在Amazon RDS和Aurora之间进行选择”一节。

选择多租户SaaS分区模型

您可以从三种适用于PostgreSQL的SaaS分区模型中进行选择:思洛存储器、网桥和池。每个模型都有优点和缺点,您应该根据您的用例选择最理想的模型。Amazon RDS for PostgreSQL和Aurora PostgreSQL Compatible支持所有三种模型。选择模型对于在SaaS应用程序中保持租户数据隔离至关重要。有关这些模型的详细讨论,请参阅本指南中PostgreSQL的多租户SaaS分区模型一节。

对池SaaS分区模型使用行级安全性

使用PostgreSQL在池模型中维护租户数据隔离需要行级安全性(RLS)。这是因为在池模型中,基础设施、PostgreSQL数据库或基于每个租户的模式之间没有逻辑分离。RLS将隔离策略的实施集中在数据库级别,并消除了软件开发人员维护隔离的负担。您可以使用RLS将数据库操作限制到特定租户。有关更多信息和示例,请参阅本指南中的行级别安全建议一节。

本文地址
https://architect.pub
SEO Title
PostgreSQL for multi-tenant SaaS --Best practices