大家好,关于深入解析:多种PostgreSQL分布式架构方案比较很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
CitusCitus以插件的形式扩展到postgresql,并且独立于postgresql核心。因此能够快速跟上pg主版本的更新,部署也比较简单。它是现在非常流行的分布式解决方案。 Citus在苏宁广泛使用,微软也为Citus提供商业支持。 citus的架构如下:
imageCitus节点主要分为协调节点和工作节点。协调节点不存储真实数据,仅存储有关数据分布的元信息。实际数据被分成几个分片,分散到不同的工作节点上。应用程序连接协调节点和协调节点。进行SQL解析,生成分布式执行计划,发送到worker节点执行,cn汇总结果返回给客户端。
Ciitus的主要架构特点如下: 有两种表类型:引用表和分布表。每个协调节点和worker节点的引用表都有完整的副本,分配表会分散分布到不同的worker上。 读写可以分离。如上图所示,cn1是写节点。您可以通过添加多个cn读节点来增加集群的读能力。 write cn和read cn之间使用流复制进行元数据同步。 支持MX模式,元数据还可以存储在某些worker节点中,使得worker节点可以直接提供写入能力,从而增加集群的写入能力。 底层worker节点可以通过流式复制的方式构建副本,保证数据的高可用性。 做join时最好的结果是能够将计算下推到worker节点,但是只有当引用表与其他表进行join且两个表的分布方式为相同的。否则需要将数据下推。拉到协调节点进行计算。 整体架构与mycat的中间件类似。由于没有全局事务管理,无法保证数据的实时读取一致性,但性能较好。使用2pc保证数据写入一致性。
pgxc pgxlPgxc是经典的分布式数据库架构,是真正的企业级HTAP。我们看到市面上很多分布式数据库产品都是基于pgxc架构进行扩展的。 pgxc 与pg 内核紧密耦合,并嵌入到pg 内核中。最初,pgxc的核心开发人员将pgxc商业化,创建了stormdb,并进行了一些并行算子优化。后来TransLattice收购了stormdb,将项目开源了,也就是现在的pgxl,所以pgxc和pgxl是同源的,大部分代码都是直接移植的。以下是pgxc的架构:
事实上,这个架构与citus有类似的优点。又分为协调节点和数据节点。数据也通过哈希分布到不同的数据节点。它只是在集群中增加了一个全局事务管理组件来保证全局事务的一致性。
pgxc的架构特点如下:gtm保证全局读一致性,两阶段提交保证全局写一致性。 GTM是整个系统的瓶颈点。当并发数超过150时,GTM的瓶颈就会出现。每次启动交易时,都会去GTM获取交易号和快照信息,导致GTM在网络压力和分配交易号的速度上存在瓶颈。 多个协调节点之间需要同步元数据信息。如果协调节点出现故障,不仅会导致ddl挂起,还可能导致两阶段事务阻塞。 pgxc的出现主要是由于pg在oltp应用场景的优化。无论是新GTM的加入,还是数据一致性的保证,都做得更加精细。 与citus类似,数据表也可以分为分布表和复制表。复制表在每个数据节点中都有完整的数据副本。
GreenplumGreenplum是Pivotal推出的开源OLAp mpp数据库。 greenplum的用户甚至在某种程度上超过了PG。很多人可能都是通过greenplum才认识PG的,由此可见greenplum的受欢迎程度。以下是greenplum架构:
关于深入解析:多种PostgreSQL分布式架构方案比较到此分享完毕,希望能帮助到您。
【深入解析:多种PostgreSQL分布式架构方案比较】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
一直想了解一下PostgreSQL如何做到分布式的,这篇文章刚好合适!
有15位网友表示赞同!
最近在使用PostgreSQL,感觉单节点限制有点大,所以分布式真的很重要。
有9位网友表示赞同!
不同架构的优缺点真是得一目了然了,文章分析得很详细。
有11位网友表示赞同!
我需要研究一下哪种分布式架构最适合我的项目要求。
有5位网友表示赞同!
分享这篇对比的文章给了我很多启发,让我对PostgreSQL的分布式架构有了更清晰的认识。
有17位网友表示赞同!
作为开发人员,了解不同分布式架构的特点真的很重要,这样才能做出正确的选择。
有6位网友表示赞同!
原来PostgreSQL可以做到分布式,以前还以为只能作为单节点使用呢!
有8位网友表示赞同!
文章写的很通俗易懂,即使是入门者也能轻松理解。
有5位网友表示赞同!
我已经开始把项目迁移到分布式的PostgreSQL环境了,这篇文章给了我很多思路。
有6位网友表示赞同!
现在数据库的选择越来越广泛,想学习一下最新的技术趋势。
有13位网友表示赞同!
这种深入的架构对比就显得特别有用,我可以参考它来做决定。
有20位网友表示赞同!
读完这篇对比后,我对PostgreSQL分布式架构有了更全面的了解。
有10位网友表示赞同!
我之前对PostgreSQL了解不多,这篇文章让我对其认识一下子更新了。
有16位网友表示赞同!
不同的架构场景的确存在差异,文章的分析很有价值。
有9位网友表示赞同!
学习一下PostgreSQL的分布式架构技巧,可以提升自己的技术水平。
有5位网友表示赞同!
这个标题很吸引人,我迫不及待要看下文章内容!
有10位网友表示赞同!
对于需要处理大规模数据的项目来说,分布式数据库确实很有用。
有14位网友表示赞同!
了解PostgreSQL的多种架构方式可以帮助我更好地选择合适的解决方案。
有10位网友表示赞同!