Citus 简介,将 Postgres 转换为分布式数据库

什么是 Citus?

Citus 是 Postgres 的开源扩展,它在集群中的多个节点上分布数据和查询。因为 Citus 是 Postgres 的扩展(不是 fork),所以当您使用 Citus 时,您也在使用 Postgres。您可以利用最新的 Postgres 功能、工具和生态系统。

Citus 将 Postgres 转换为具有分片、分布式 SQL 引擎、引用表和分布式表等功能的分布式数据库。 Citus 将并行性、在内存中保留更多数据和更高的 I/O 带宽相结合,可以显着提高多租户 SaaS 应用程序、面向客户的实时分析仪表板和时间序列工作负载的性能。

获得 Citus 的三种方法:

1.开源:您可以下载 Citus 开源代码,或访问 GitHub 上的 Citus 存储库。

https://www.citusdata.com/download

https://github.com/citusdata/citus

2.企业软件:Citus Enterprise 可作为软件订阅以及 24×7 支持,供那些想要手动管理 Citus 的人使用。

3.托管数据库服务:Citus 在 Azure 上以 Hyperscale (Citus) 的形式提供,这是 Azure Database for PostgreSQL 托管服务中的内置部署选项。

https://docs.microsoft.com/azure/postgresql/hyperscale

Citus 可以扩展多远?

Citus 通过添加工作节点进行水平扩展,并通过升级 workers/coordinator 进行垂直扩展。在实践中,我们的客户已经达到了以下规模,还有更大的增长空间:

Algolia

  • 每天摄取 5-10B 行

Heap

  • 700+ 亿次事件
  • 70 节点 Citus 数据库集群上的 1.4PB 数据

Chartbeat

  • 每月添加 >2.6B 行数据

Pex

  • 每天更新 80B 行
  • 20 节点 Citus 数据库集群是 Google Cloud
  • 2.4TB 内存、1280 核、80TB 数据
  • …计划增长到 45 个节点

Mixrank

  • 1.6PB 的时间序列数据

何时使用 Citus

多租户数据库

大多数 B2B 应用程序已经在其数据模型中内置了租户、客户或帐户的概念。在此模型中,数据库为许多租户提供服务,每个租户的数据都与其他租户分开。

Citus 为该工作负载提供了完整的 SQL 覆盖,并支持将您的关系数据库扩展到 100K+ 租户。 Citus 还为多租户添加了新功能。例如,Citus 支持租户隔离,为大租户提供性能保证,并具有引用表的概念,以减少跨租户的数据重复。

这些功能允许您在多台机器上扩展租户数据,并轻松添加更多 CPU、内存和磁盘资源。此外,在多个租户之间共享相同的数据库模式可以有效地利用硬件资源并简化数据库管理。

Citus 对于多租户应用程序的一些优势:

  • 快速查询所有租户
  • 数据库中的分片逻辑,而不是应用程序
  • 在单节点 PostgreSQL 中保存的数据比可能的多
  • 保持高并发下的性能
  • 跨客户群的快速指标分析
  • 轻松扩展以处理新客户注册
  • 隔离大小客户的资源使用情况

实时分析

Citus 支持对大型数据集的实时查询。通常,这些查询发生在快速增长的事件系统或具有时间序列数据的系统中。示例用例包括:

  • 具有亚秒级响应时间的分析仪表板
  • 关于正在展开的事件的探索性查询
  • 大型数据集归档和报告
  • 使用漏斗、细分和同类群组查询分析会话

Citus 的优势在于它能够并行化查询执行并随集群中工作数据库的数量线性扩展。 Citus 在实时应用方面的一些优势:

  • 随着数据集的增长保持亚秒级响应
  • 实时分析发生的新事件和新数据
  • 并行化 SQL 查询
  • 横向扩展而不放弃 SQL
  • 保持高并发下的性能
  • 快速响应仪表板查询
  • 使用一个数据库,而不是拼凑
  • 丰富的 PostgreSQL 数据类型和扩展

使用注意事项

Citus 扩展了 PostgreSQL 的分布式功能,但它不是扩展所有工作负载的直接替代品。高性能 Citus 集群需要考虑数据模型、工具和所使用的 SQL 功能的选择。

以下是考虑工具和 SQL 功能的一个好方法:如果您的工作负载与此处描述的用例一致,并且您碰巧遇到了不受支持的工具或查询,那么通常有一个很好的解决方法。

当 Citus 不合适时

一些工作负载不需要强大的分布式数据库,而另一些工作负载则需要工作节点之间的大量信息流。在第一种情况下,Citus 是不必要的,而在第二种情况下,通常性能不佳。这里有些例子:

  • 当单节点 Postgres 可以支持您的应用程序并且您不希望增长时
  • 离线分析,无需实时摄取或实时查询
  • 不需要支持大量并发用户的分析应用程序
  • 返回大量数据的 ETL 结果而不是摘要的查询

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/306408.html<

(0)
运维的头像运维
上一篇2025-05-26 15:42
下一篇 2025-05-26 15:43

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注