💡
原文英文,约1100词,阅读约需4分钟。
📝
内容提要
构建B2B应用程序时,通常会使用多租户模式,即将客户数据分开存储。在数据库方面,可以选择单独的数据库或使用模式。Citus是一个扩展程序,可以透明地将Postgres的分片应用到应用程序中。Citus还提供了一些特殊功能,如citus_stat_statements,用于查看执行哪些查询的租户。支持基于模式的分片。
🎯
关键要点
- 构建B2B应用程序时,通常采用多租户模式,客户数据分开存储。
- 数据库设计模式有多种选择,包括每个客户一个数据库和使用模式。
- 每个客户一个数据库提供最大隔离,但在大规模管理时可能会遇到困难。
- 使用模式可以实现客户隔离,但需要管理所有模式的迁移。
- Citus是Postgres的扩展,支持透明的数据分片,适合多租户和实时分析。
- 在Citus中,数据按租户ID分片,避免跨分片连接,提高性能。
- Citus_stat_statements功能可以跟踪每个租户执行的查询,帮助识别负载较大的租户。
- Citus 12支持基于模式的分片,结合PgBouncer可改善连接管理。
- 对于数百万租户,推荐使用租户区分符的方法,而不是模式分片。
➡️