分享好友 站长动态首页 网站导航

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

2022-03-31 09:46 · 头闻号数据库

什么是 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 可作为软件订阅以及 24x7 支持,供那些想要手动管理 Citus 的人使用。

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

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

Citus 可以扩展多远?

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

Algolia

Heap

Chartbeat

Pex

Mixrank

何时使用 Citus

多租户数据库

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

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

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

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

实时分析

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

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

使用注意事项

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

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

当 Citus 不合适时

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

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

评论

0

收藏

点赞