如何确定分布式 PostgreSQL 集群(Citus)中分布式表的理想分布列?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5895个文字,预计阅读时间需要24分钟。
确定应用程序类型+在Citus集群上运行高效查询需求数据在机器间正确分布。因应用程序类型及其查询模式而异。在Citus上运行良好主要有两种应用类型。数据建模的第一步是确保正确。
确定应用程序类型在 Citus 集群上运行高效查询要求数据在机器之间正确分布。这因应用程序类型及其查询模式而异。
大致上有两种应用程序在 Citus 上运行良好。数据建模的第一步是确定哪些应用程序类型更接近您的应用程序。
schema 中有几十个或数百个表
表数量少
一次与一个租户(公司/商店)相关的查询
具有聚合的相对简单的分析查询
用于服务 Web 客户端的 OLTP 工作负载
摄取大量几乎不可变的数据
为每个租户分析查询提供服务的 OLAP 工作负载
通常围绕着一个大的事件表
示例和特征
多租户应用
这些通常是为其他公司、帐户或组织服务的 SaaS 应用程序。大多数 SaaS 应用程序本质上是关系型的。它们具有跨节点分布数据的自然维度:只需按 tenant_id 分片。
Citus 使您能够将数据库扩展到数百万租户,而无需重新构建应用程序。
本文共计5895个文字,预计阅读时间需要24分钟。
确定应用程序类型+在Citus集群上运行高效查询需求数据在机器间正确分布。因应用程序类型及其查询模式而异。在Citus上运行良好主要有两种应用类型。数据建模的第一步是确保正确。
确定应用程序类型在 Citus 集群上运行高效查询要求数据在机器之间正确分布。这因应用程序类型及其查询模式而异。
大致上有两种应用程序在 Citus 上运行良好。数据建模的第一步是确定哪些应用程序类型更接近您的应用程序。
schema 中有几十个或数百个表
表数量少
一次与一个租户(公司/商店)相关的查询
具有聚合的相对简单的分析查询
用于服务 Web 客户端的 OLTP 工作负载
摄取大量几乎不可变的数据
为每个租户分析查询提供服务的 OLAP 工作负载
通常围绕着一个大的事件表
示例和特征
多租户应用
这些通常是为其他公司、帐户或组织服务的 SaaS 应用程序。大多数 SaaS 应用程序本质上是关系型的。它们具有跨节点分布数据的自然维度:只需按 tenant_id 分片。
Citus 使您能够将数据库扩展到数百万租户,而无需重新构建应用程序。

