PostgreSQL 筒仓模型 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

PostgreSQL 筒仓模型

孤岛模型是通过为应用程序中的每个租户预置一个 PostgreSQL 实例来实现的。该筒仓模型在租户性能和安全隔离方面表现出色,完全消除了噪音邻居现象。当一个租户对系统的使用影响另一个租户的性能时,就会出现邻居噪音现象。孤岛模型允许您专门为每个租户量身定制性能,并有可能将停机限制在特定租户的孤岛上。但是,通常推动采用孤岛模式的是严格的安全和监管限制。这些限制可能由 SaaS 客户驱动。例如,由于内部限制,SaaS 客户可能会要求隔离其数据,而 SaaS 提供商可能会额外付费提供此类服务。

SaaS PostgreSQL silo model

尽管在某些情况下可能需要筒仓模型,但它有许多缺点。通常很难以经济高效的方式使用孤岛模型,因为管理多个 PostgreSQL 实例的资源消耗可能很复杂。此外,该模型中数据库工作负载的分布式性质使得维护租户活动的集中视图变得更加困难。管理这么多独立运行的工作负载会增加运营和管理开销。孤岛模式还使租户入职变得更加复杂和耗时,因为您必须配置租户特定的资源。此外,整个 SaaS 系统可能更难扩展,因为越来越多的租户专用 PostgreSQL 实例将需要更多的操作时间来管理。最后一个考虑因素是,应用程序或数据访问层必须维护租户与其关联的 PostgreSQL 实例的映射,这增加了实现该模型的复杂性。