分布式数据库 30 讲
王磊
光大银行首席数据架构师
29144 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 34 讲
结束语 (1讲)
分布式数据库 30 讲
15
15
1.0x
00:00/00:00
登录|注册

04 | 架构风格:NewSQL和PGXC到底有啥不一样?

学习资料
思考题
小结
NewSQL:革命性的新架构
PGXC:单体数据库的自然演进
数据库的基本架构
架构风格

该思维导图由 AI 生成,仅供参考

你好,我是王磊,你也可以叫我 Ivan。
分布式数据库已经是技术新潮流了,所以产品也越来越多,如果你要做技术选型或者想要学习,该如何下手呢?怎么能更高效地了解不同产品的特点呢?这就需要你把它们分分类,有些差不多的产品,熟悉了其中的一个,剩下的我们只要记下差异点就可以了。那下面的问题就是如何分类了,这个其实很简单,因为业界已经有共识,把产品按照架构风格划分到不同的阵营。
总的来说,分布式数据库大多可以分为两种架构风格,一种是 NewSQL,它的代表系统是 Google Spanner;另一种是从单体数据库中间件基础上演进出来的,被称为 Prxoy 风格,没有公认的代表系统。我觉得 Prxoy 这个名字太笼统,没有反映架构的全貌,还是要有一个具体的架构模板,才能便于你理解,所以我选了一个出现较早的产品来指代这种风格,这就是 PostgreSQL-XC(下文简称 PGXC)。
我在后面的课程中讲述分布式数据库的特性和原理的时候,也会沿着这两种架构风格的思路,帮助你去迅速抓住不同产品的要点。因此,我们今天就先用一讲来学习下这两种架构风格。

数据库的基本架构

要搞清楚分布式数据库的架构风格,就要先了解“数据库”的架构。当然,我们这里说的数据库仍然默认是关系型数据库。我们先通过一张架构图看看数据库的全貌。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

NewSQL和PGXC是两种不同的架构风格的分布式数据库。NewSQL代表系统是Google Spanner,而PGXC是以PostgreSQL为内核的开源分布式数据库。文章介绍了数据库的基本架构,包括客户端通讯管理器、进程管理器、查询处理器、事务存储管理器以及共享组件和工具。然后详细讨论了PGXC的架构,指出它是单体数据库的自然演进,通过分库分表、分布式事务、跨节点查询和全局时钟等功能实现了分布式数据库的特点。文章还提到了PGXC风格的分布式数据库产品,包括TBase、GuassDB 300和AntDB等。总的来说,本文通过对NewSQL和PGXC两种架构风格的分布式数据库进行比较和介绍,帮助读者更好地了解不同产品的特点和功能。 NewSQL架构更加领先,而PGXC最大程度复用了单体数据库的工程实现,更加稳健。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式数据库 30 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(26)

  • 最新
  • 精选
  • 游弋云端
    在传统数据库之上,不做分片和分表等逻辑,基于共识协议达成多个节点的数据一致性,这类产品怎么算归属?

    作者回复: 没有分片就很难扩展存储和运算能力,和传统主备复制相比,只是复制协议的调整,那就仍然是单体数据库。

    2020-08-19
    3
    6
  • Tim Zhang
    想学习下分布式数据库源码,newsql有没有java实现的分布式数据库,golang看起来比较累

    作者回复: 你好,据我所知没有Java实现的,多数都是Go, Rust, C/C++开发的。Java的话可以看看HBase的源码,对理解分布式K/V系统有帮助。

    2020-08-20
    4
    5
  • 朱海昆
    感觉老师的讲解会让我对分布式的理解更上一个台阶,谢谢老师

    作者回复: 谢谢你的肯定

    2020-08-18
    3
  • 赵见跃
    老师好,腾讯的TBase 属于PGXC 架构,那腾讯的TDSQL 属于哪个架构呢?它们的架构不一样是吧。谢谢老师。

    作者回复: 你好,据我了解,目前腾讯输出的TDSQL是没有全局时钟的,也没有解决全局一致性的问题,所以严格来说,不是PGXC架构。但是,我们通过一些公开资料可以了解到,TDSQL也正在调整架构努力解决这些问题。

    2020-08-18
    2
    3
  • 赵见跃
    老师好,NewSQL是在nosql基础上进化的,那NewSQL就是比nosql 多了事务功能吗?还是有更多的变化?像mongodb也提供了事务功能,它不属于NewSQL是吧。谢谢!

    作者回复: NewSQL与NoSQL相比,最大差异在于强一致性,也就是我们在02/03两讲介绍的数据一致性和事务一致性,而其他的技术实现则是细节。MangoDB并不属于NewSQL,因为它不是传统意义上的关系模型,而事务的增加确实是MangoDB向数据库的一个重要转变,为它拓展了更多的OLTP场景。

    2020-08-18
    2
    3
  • Geek6713
    有一点不太理解,为了实现分布式事务为什么一定要有全局时钟呢?两阶段提交协议就可以实现分布式事务啊。

    作者回复: 不用全局时钟确实也可以实现分布式事务,但完整的做到ACID,性能上付出的代价要大的多。XA协议就是一个例子。

    2020-12-06
    2
  • 麋鹿在泛舟
    请教一个疑问,PG-XC架构数据库如果讲底层的存储替换成分布式存储,是不是也可以说数据库也具备了NewSQL的能力? NewSQL也在逐步支持分布式事务,随着以后的技术演进,是不是两者界限会逐渐模糊?

    作者回复: 你好,这个专栏中,我们介绍的NewSQL是原生分布式数据库,是天然支持分布式事务的。PG-XC不是简单替换分布式存储的问题,它底层复用了单体数据库。

    2021-02-21
    1
  • wy
    ivan老师,hbase这种 nosql的kv数据库是不是完全可以用pgxc架构的数据库替代,因为在pgxc不仅可以存储海量数据而且支持更复杂的计算,使用场景多。hbase在我看来它的优势在于可以通过region的分裂达到更好负载平衡,但是这个pgxc实现起来应该也不难。

    作者回复: 你这个问题是在说技术选型,我觉得还是得根据数据访问模式去匹配应用场景。比如KV存储在点查询上的优势是PGXC很难超越的。PGXC要做到动态分片也是不容易的,这要动下面的数据节点,也就是要改单体数据库。

    2020-09-27
    1
  • 王鹏
    最近用了Clickhouse,感觉是真的快,也能解决一些OLAP和OLTP混合的场景

    作者回复: 嗯,ClickHouse是很有特点,但与OLTP场景需求差异还蛮大的,比如只能批量加载数据。我个人觉得CH还是主要适合在部分OLAP场景使用。

    2020-08-20
    1
  • 张永志
    全局时钟的话,还能调整系统时间吗?往回调整时间允许吗?

    作者回复: 全局时钟的意义就是单调递增,所以是不能回调时间的。或者说,正常情况下也不应该有回调的需求。

    2020-08-18
    1
收起评论
显示
设置
留言
26
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部