04 | 架构风格:NewSQL和PGXC到底有啥不一样?
该思维导图由 AI 生成,仅供参考
数据库的基本架构
- 深入了解
- 翻译
- 解释
- 总结
NewSQL和PGXC是两种不同的架构风格的分布式数据库。NewSQL代表系统是Google Spanner,而PGXC是以PostgreSQL为内核的开源分布式数据库。文章介绍了数据库的基本架构,包括客户端通讯管理器、进程管理器、查询处理器、事务存储管理器以及共享组件和工具。然后详细讨论了PGXC的架构,指出它是单体数据库的自然演进,通过分库分表、分布式事务、跨节点查询和全局时钟等功能实现了分布式数据库的特点。文章还提到了PGXC风格的分布式数据库产品,包括TBase、GuassDB 300和AntDB等。总的来说,本文通过对NewSQL和PGXC两种架构风格的分布式数据库进行比较和介绍,帮助读者更好地了解不同产品的特点和功能。 NewSQL架构更加领先,而PGXC最大程度复用了单体数据库的工程实现,更加稳健。
《分布式数据库 30 讲》,新⼈⾸单¥59
全部留言(26)
- 最新
- 精选
- 游弋云端在传统数据库之上,不做分片和分表等逻辑,基于共识协议达成多个节点的数据一致性,这类产品怎么算归属?
作者回复: 没有分片就很难扩展存储和运算能力,和传统主备复制相比,只是复制协议的调整,那就仍然是单体数据库。
2020-08-1936 - Tim Zhang想学习下分布式数据库源码,newsql有没有java实现的分布式数据库,golang看起来比较累
作者回复: 你好,据我所知没有Java实现的,多数都是Go, Rust, C/C++开发的。Java的话可以看看HBase的源码,对理解分布式K/V系统有帮助。
2020-08-2045 - 朱海昆感觉老师的讲解会让我对分布式的理解更上一个台阶,谢谢老师
作者回复: 谢谢你的肯定
2020-08-183 - 赵见跃老师好,腾讯的TBase 属于PGXC 架构,那腾讯的TDSQL 属于哪个架构呢?它们的架构不一样是吧。谢谢老师。
作者回复: 你好,据我了解,目前腾讯输出的TDSQL是没有全局时钟的,也没有解决全局一致性的问题,所以严格来说,不是PGXC架构。但是,我们通过一些公开资料可以了解到,TDSQL也正在调整架构努力解决这些问题。
2020-08-1823 - 赵见跃老师好,NewSQL是在nosql基础上进化的,那NewSQL就是比nosql 多了事务功能吗?还是有更多的变化?像mongodb也提供了事务功能,它不属于NewSQL是吧。谢谢!
作者回复: NewSQL与NoSQL相比,最大差异在于强一致性,也就是我们在02/03两讲介绍的数据一致性和事务一致性,而其他的技术实现则是细节。MangoDB并不属于NewSQL,因为它不是传统意义上的关系模型,而事务的增加确实是MangoDB向数据库的一个重要转变,为它拓展了更多的OLTP场景。
2020-08-1823 - Geek6713有一点不太理解,为了实现分布式事务为什么一定要有全局时钟呢?两阶段提交协议就可以实现分布式事务啊。
作者回复: 不用全局时钟确实也可以实现分布式事务,但完整的做到ACID,性能上付出的代价要大的多。XA协议就是一个例子。
2020-12-062 - 麋鹿在泛舟请教一个疑问,PG-XC架构数据库如果讲底层的存储替换成分布式存储,是不是也可以说数据库也具备了NewSQL的能力? NewSQL也在逐步支持分布式事务,随着以后的技术演进,是不是两者界限会逐渐模糊?
作者回复: 你好,这个专栏中,我们介绍的NewSQL是原生分布式数据库,是天然支持分布式事务的。PG-XC不是简单替换分布式存储的问题,它底层复用了单体数据库。
2021-02-211 - wyivan老师,hbase这种 nosql的kv数据库是不是完全可以用pgxc架构的数据库替代,因为在pgxc不仅可以存储海量数据而且支持更复杂的计算,使用场景多。hbase在我看来它的优势在于可以通过region的分裂达到更好负载平衡,但是这个pgxc实现起来应该也不难。
作者回复: 你这个问题是在说技术选型,我觉得还是得根据数据访问模式去匹配应用场景。比如KV存储在点查询上的优势是PGXC很难超越的。PGXC要做到动态分片也是不容易的,这要动下面的数据节点,也就是要改单体数据库。
2020-09-271 - 王鹏最近用了Clickhouse,感觉是真的快,也能解决一些OLAP和OLTP混合的场景
作者回复: 嗯,ClickHouse是很有特点,但与OLTP场景需求差异还蛮大的,比如只能批量加载数据。我个人觉得CH还是主要适合在部分OLAP场景使用。
2020-08-201 - 张永志全局时钟的话,还能调整系统时间吗?往回调整时间允许吗?
作者回复: 全局时钟的意义就是单调递增,所以是不能回调时间的。或者说,正常情况下也不应该有回调的需求。
2020-08-181