在 Azure Cosmos DB for PostgreSQL 中对应用程序工作负载进行分类
适用对象: Azure Cosmos DB for PostgreSQL(由 PostgreSQL 的 Citus 数据库扩展提供支持)
下面是最适合 Azure Cosmos DB for PostgreSQL 的工作负荷的常见特征。
先决条件
本文假定你了解 缩放的基本概念。 如果你还没有阅读过这些内容,请花点时间这样做。
多租户 SaaS 的特征
- 租户看到自己的数据;他们看不到其他租户的数据。
- 大多数 B2B SaaS 应用都是多租户应用。 示例包括 Salesforce 或 Shopify。
- 在大多数 B2B SaaS 应用中,有数百到数万个租户,越来越多的租户继续加入。
- 多租户 SaaS 应用主要是操作/事务应用,其数据库查询的延迟要求为位数毫秒。
- 这些应用具有经典关系数据模型,并使用 ORM 生成,例如 RoR、Hibernate、Django 等。
实时操作分析的特征
- 这些应用具有面向客户/用户的交互式分析仪表板,具有子秒的查询延迟要求。
- 需要高并发性 - 至少 20 个用户。
- 分析最近一秒到几分钟内的新鲜数据。
- 大多数都有时序数据,例如事件、日志等。
- 这些应用中的常见数据模型包括:
- 星型架构 - 少数大型/事实数据表,其余表为小型/维度表
- 大多少于 20 个主要表
高吞吐量事务性的特征
- 运行 NoSQL/文档样式工作负荷,但需要 PostgreSQL 功能,例如事务、外键/主键、触发器、PostGIS 等扩展。
- 工作负荷基于单个密钥。 它具有基于该密钥的 CRUD 和查找。
- 这些应用具有较高的吞吐量要求:数千到数十万 TPS。
- 查询延迟(以单位数毫秒为单位),具有较高的并发要求。
- 时序数据,如物联网。
后续步骤
选择适合应用程序的最佳位置: