citus 确定应用程序类型
在 Citus 集群上运行高效查询需要将数据正确地分布在计算机之间。这随应用程序类型及其查询模式的不同而不同。
在 Citus 上运行良好的应用程序大致有两种。数据建模的第一步是确定其中哪一个更类似于您的应用程序。
一览
Multi-Tenant Applications | Real-Time Applications |
---|---|
模式中有时有几十或几百个表 | Small number of tables |
一次查询一个租户(公司/商店) | 使用聚合的相对简单的分析查询 |
用于服务 Web 客户端的 OLTP 工作负载 | 摄取大部分不可变数据的高容量 |
为每个租户提供分析查询的 OLAP 工作负载 | 经常围绕着一个大的事件表 |
例子及特色
Multi-Tenant Application
这些通常是服务于其他公司、帐户或组织的 SaaS 应用程序。大多数 SaaS 应用程序本质上是关系型的。它们有一个自然的维度,可以在这个维度上将数据分布到节点上: 只需通过 tenant_id 分片即可。
Citus 使您能够向数百万租户扩展数据库,而无需重新构建应用程序。您可以保持所需的关系语义,比如连接、外键约束、事务、 ACID 和一致性。
- 例如: 为其他企业提供门面服务的网站,如数字营销解决方案或销售自动化工具。
- 特性: 与单个租户相关的查询,而不是跨租户连接信息。这包括用于服务 Web 客户端的 OLTP 工作负载,以及用于服务每租户分析查询的 OLAP 工作负载。在数据库模式中有几十或几百个表也是多租户数据模型的一个指示器。
使用 Citus 扩展多租户应用程序也需要对应用程序代码进行最小限度的更改。我们支持 Ruby on Rails 和 Django 这样的流行框架。