【PGConf2021】这里给大家分享的是PostgreSQL发展历史中的一些比较大的特性,通过这些重要特性,能够看出它是如何逐步发展为世界上最先进的开源数据库的,另外,通过了解这些特性,也能了解PostgreSQL的当前的整体架构,从架构视角检视一个数据库实现的必备属性,最后,我们从未来发展的角度列举几个PostgreSQL数据库在后续发展中比较重要的方向,也算把握PostgreSQL的未来。
【视频】PostgreSQL中的锁
PostgreSQL中的锁是数据库事务中的核心内容,本次我们尽量抛开源代码实现,从DBA的角度来分析锁的级别和PostgreSQL的锁的实现机制。
让数据库从业者从实力的地位出发对美国说不!
【置顶】《PostgreSQL技术内幕:事务处理深度探索》上市了!
PostgreSQL中的锁 - 轻量锁
大明与小明聊完了自旋锁,已是中午时分,大明突然想到最近有一本讲解事务处理的新书要上市,正好包含要讲给小明的自旋锁、轻量锁、常规锁等内容,于是对小明说:“最近上市了一本新书,叫《PostgreSQL技术内幕:事务处理深度探索》,是《PostgreSQL技术内幕:查询优化深度探索》的姊妹篇,恰好有你想要学习的内容,我们不妨去附近的书店看看。”
经过一上午的讲解,小明已经精疲力尽,腹中隆隆作响,大明不由笑道:“咱们还是先饱餐战饭,然后再去书店吧。”
小明揉揉肚子,确实已经是饥肠辘辘,便笑道:”免不了又让你破费。“
PostgreSQL中的锁 - 自旋锁
经过上次的《《PostgreSQL优化器白话》中大明和牛二哥对PostgreSQL优化器的概要的讲解,小明感到自己已经深深的爱上了数据库内核,小明在GitChat网站上购买了《PostgreSQL优化器入门》的文字网课,还跑到实体书店买了本《PostgreSQL技术内幕:查询优化深度探索》,每天对照着网课和书上的内容仔细研读PostgreSQL的优化器的实现,准备在毕业之后去从事数据库内核开发的工作。
不过,最近在学校的数据库原理课程学到了并发控制的部分,这部分对小明来说有点难度,因为小明没有对数据库的原理进行过实践,无法理解锁的重要性,于是小明又来到自己的哥哥大明家里向大明请教PostgreSQL是如何实现并发控制的。
PostgreSQL优化器白话(10) - 我再补充两句
全文目录
- 《PostgreSQL优化器白话》- 为什么优化
- 《PostgreSQL优化器白话》- SQL进化史
- 《PostgreSQL优化器白话》- 提升!提升!
- 《PostgreSQL优化器白话》- 下推!下推!
- 《PostgreSQL优化器白话》- 严格要求自己
- 《PostgreSQL优化器白话》- 统计局旁的泉水
- 《PostgreSQL优化器白话》- 你走你的阳关道
- 《PostgreSQL优化器白话》- 算计不到就受穷
- 《PostgreSQL优化器白话》- 找饭店
《PostgreSQL优化器白话》暂时剧终了,我们基本上涵盖了大部分查询优化的概念,但是由于篇幅比较小,没有把细节说得特别到位,其中有大部分内容是摘抄自《PostgreSQL技术内幕:查询优化深度探索》一书的概念解释的部分,然后以小明、大明和牛二哥进行对话的方式展现出来,对于书中介绍的代码分析的部分以及比较深入的实现细节,由于不太容易通过对话的方式展示,所以在《PostgreSQL优化器白话》中没有涉及到。
我已经尽我所能将这种对话的形式写的具有故事性一些,但是限于作者的语言能力,有些情节的切换上会显得比较生硬,在情节的处理上有时也相对比较单薄了,不过请放心,我即使再努力也写不出来世界名著,所以请不要鄙视我,因为我生气起来连我自己都害怕。
PostgreSQL优化器白话(9) - 找饭店
小明、大明和牛二哥在大坑点评里搜索附近好的饭店,搜来搜去总是感觉不太靠谱,不是卫生有问题,就是味道不够正宗,大明感叹道:“看,这就是蓝海,我们可以创业搞一个AI点评,只能推荐最优的饭店啊,我准确的找到了吃货们的痛点,这里面隐含着很大的商机啊!”
牛二哥瞥了它一眼说:“AI推荐当然好啊,可是要推荐的准才行啊,可是一个人一个口味,你这个需求太‘智能’了,我估计不好弄。”
小明突然想到自己最近在学校的算法课上老师讲过一些求最优解问题的方法,然后说:“我知道,我知道,我最近在算法课上学过一些最优解问题的解决方法,应该可以用得上。”
PostgreSQL优化器白话(8) - 算计不到就受穷
“俗话说啊,吃不穷,穿不穷,算计不到就受穷。”大明一边啃着大腰子,一边说:“所以该吃就得吃,吃是吃不穷的。”
小明说:“可是算来算去,物理路径的代价还是有选不准的时候啊。”
牛二哥说:“小明你已经走火入魔了,我们正在美美的吃饭,你看大明啃得竹签子都冒火星子,你非要扯到优化器,太扫兴了,好了,我吃饱了,我来和你聊聊。”说着牛二哥抽了张纸巾擦了擦嘴,纸巾被嘴角的油浸成透明状,飘悠悠的被牛二哥弹进了垃圾筐,然后牛二哥抚摸着自己沟满壕平的肚子,慢条斯理的说:“最优路径选的不准是谁的原因,那就是代价模型不行啊,代价模型不行赖谁,那就是程序员没建好啊,所以要怪就要怪到程序员自己头上。”
PostgreSQL优化器白话(7) - 你走你的阳关道
小明“摇醒”了晕倒的大明和牛二哥,然后说:“趁着大腰子和红酒还没送到,不如给我说说物理路径吧,虽然我们代价计算来计算去,最终还是为物理路径计算代价嘛。”
大明愤怒的说:“讲物理路径可以,不过你如果再这么吹嘘自己,咱俩就势不两立,你走你的阳关道,我过我的独木桥。”
牛二哥笑着说:“我看还是先算算走阳关道合算还是走独木桥合算吧,同样一件事,既可以走阳关道,也可以走独木桥,所谓殊途同归于尽嘛,不过我们还是得知道哪一个适合自己。”