Aurora PostgreSQL - 建议的最大数据库数(对于多租户数据层)

0

【以下的问题经过翻译处理】 你好,

TL;DR - 我有一个客户拥有包含多租户数据层的 SaaS 解决方案。他们希望通过为每个租户创建一个逻辑数据库来改善租户隔离。

Aurora Postgres 是该架构的主要组件。为了创建更好的隔离,他们想为每个租户创建一个数据库(澄清:同一集群中的多个逻辑数据库)。他们询问单个 Aurora PostgreSQL 集群是否可以容纳 10K 数据库。

  1. 这是 Aurora Postgres 的合理要求吗(以及 完全没有 PostgreSQL)? 2.在哪一点(关于DBs数量)的解决方案 像分片一样有意义吗? (只谈论集群中的数据库数量。澄清 - 我是 还与他们讨论每个数据库的性能 要求、可用性要求等) 3.另外,我正在和客户商量 关于其他考虑因素,例如划分数据库以创建 更好的维护/操作能力并限制爆炸半径 一簇)。

提前谢谢了。

profile picture
EXPERTE
gefragt vor 8 Monaten62 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 正如您所暗示的那样,多租户数据库架构将归结为他们的用例。有很多论文/文章讨论了在隔离、可维护性、迁移、开发难度、模式更改和其他因素方面与替代方法的权衡。

鉴于此,我将尝试将我的回答集中在您问题的 1 和 2 上:我们有客户在 Aurora 和 RDS Postgres 上使用 10k 数据库。有些甚至高出几个数量级。但是,他们肯定会考虑他们未来的扩展计划。有一点,即使只是文件的绝对数量通常也会导致 Postgres(或操作系统)的痛苦。如果他们的数据模式很复杂,每个数据库都有很多表关系,那么他们可能会更快地遇到问题。很难给出可靠的数字,但在 10k 时,您可以说这足以让他们投入精力进行真正的评估。

另一个潜在的症结是连接管理。如果他们的工作负载需要频繁访问许多客户/数据库,那么值得一提的是 Postgres 是按数据库连接的。即使是 10k,他们实际上也无法为所有客户缓存所有连接。创建和拆除连接会带来开销,否则他们不会遇到像每个客户一个表这样的事情。

正如我提到的,还有很多其他事情需要考虑,但是,可以明确的是,可以做 10k 逻辑数据库。但他们应该使用代表其特定的工作负载进行测试。

profile picture
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen