01
每个项目一个单元
每个项目都跑在自己的数据库单元里:独占的 PostgreSQL 进程、独占的存储、独占的凭据,以及由操作系统强制的 CPU 与内存上限。两个客户之间没有共享数据库、没有共享 schema,也没有行级分区。
隔离的论证就这些,而且刻意乏味。吵闹的邻居耗不尽你的内存,因为上限不共享。别的租户查询里的 bug 碰不到你的数据,因为那个进程根本看不见。
K/V 存储享有同样的待遇:独立的进程、独立的内存上限、独立的存储和独立的凭据。它既没有通往你数据库的网络路由,也没有通往公网的路由——只有经过认证的端点才能访问它。