关于 MySQL 并发事务 加锁这一块的内容,有没有什么讲得比较好的书或者资料

2021-03-13 11:06:53 +08:00
 zxCoder

看那个 MySQL 是怎么运行的,看了一遍对这部分还是迷迷糊糊,感觉细节,概念很多,把握不到整体的一个结构。

4234 次点击
所在节点    数据库
70 条回复
XiLemon
2021-03-13 11:26:12 +08:00
入门当然是 MySQL 45 讲,然后就是何登成大佬的博客,配合官方文档。
pedia
2021-03-13 12:18:34 +08:00
这块涉及的内容比较多了 想深入了解只能看源码了 有问题上社区 https://fastdb.cc/ 问我咯.
simonv3ex
2021-03-13 14:05:22 +08:00
收藏从未停止,学习从未开始[doge]
gBurnX
2021-03-13 14:26:57 +08:00
模电(模拟电路)讲锁的来历、最原始锁的电路原理、设计与性能。

数电(数字电路)讲锁与上层数字化系统的衔接与应用。

学习主板与 CPU 结构,分析锁的发展史。比如从单核、多核、多 CPU 结构,在这些不同情况下,锁的结构与性能完全不一样,用法也不同。

到了操作系统层次,结合前面 CPU 与主板,来看看操作系统的调度、进程线程纤程,如何把底层单一的锁,发展成各种特性的锁。比如原子锁,自旋锁等等。

接着到了数据库。数据库对操作系统层次的锁,进行了进一步的包装,根据业务需求生成了行锁、表锁、全局锁等等。不同的数据库,这一块的设计与实现也会有差异。具体应该根据数据库代码与文档为主。

想把锁学好,就从上往下学。时间不够,只想学个大概,就从下往上学。
DoctorCat
2021-03-13 16:27:53 +08:00
@gBurnX 秀儿,请坐下
pedia
2021-03-13 19:41:29 +08:00
@gBurnX 数据库的锁和操作系统的锁并不是一种锁,更不是进一步包装
zhangysh1995
2021-03-13 19:48:09 +08:00
@zxCoder 前段时间给 MySQL 报了一个 bug,是和并发相关的,涉及到了很多基本概念的讨论,有兴趣可以看一下。https://bugs.mysql.com/bug.php?id=102752
dzdh
2021-03-13 20:21:55 +08:00
@zhangysh1995 所以到最后到底是不是个 bug
ZeawinL
2021-03-13 20:34:21 +08:00
高性能 MySQL,MySQL 技术内幕?
falcon05
2021-03-13 20:41:15 +08:00
@gBurnX 佩服你扯淡的勇气,我建议从弹簧锁开始学起。
gBurnX
2021-03-13 20:52:26 +08:00
@falcon05

你觉得我说的是扯淡,那你水平肯定比我高。

请问,对于发帖人提出的这个问题,你有何高见?
AxEqaq
2021-03-13 21:35:38 +08:00
《 MySQL 技术内幕( innodb······)》里面有一章大概讲了讲


@gBurnX os 、db 的锁不是一回事,mysql 官方有个《 mysql 技术规范》,可以配合看下
gBurnX
2021-03-13 22:43:36 +08:00
@pedia 这应该是知识树构建的不一样,造成的理解问题吧。

如果你完整地从底层开始,逐步学习了这些知识,按照层次划分,数据库的锁就是对 OS 提供的进行包装而已。

但如果你没有系统地构建知识树,你可能会说,数据库的锁本质是由更下层的模块提供,比如指令,CPU 甚至电路等等。你这种说法当然也没错。
gBurnX
2021-03-13 22:45:24 +08:00
@AxEqaq 你看文字应该再仔细一些。我没说他们是一回事。另外你建议的资料,先谢谢了,不过这种粗浅的东西对我没什么用。
AxEqaq
2021-03-13 22:56:25 +08:00
@gBurnX 兄弟在哪高就?有点狂啊
AxEqaq
2021-03-13 22:57:19 +08:00
@gBurnX 或者有什么拿得出手的东西,让俺开开眼?
seanxx
2021-03-13 23:17:24 +08:00
@gBurnX #4 我觉得还是应该从 cpu 的制造工艺学起
gBurnX
2021-03-13 23:18:40 +08:00
@AxEqaq 有些比较负责的学校,本科要毕业,至少要写个 OS 原型与 DB 原型。花点时间认真学学,把这两块做好,其实数据库也就那么一回事。

基础打扎实后,实际工作中,数据库方面的问题,就不需要浪费时间再去纠结基础知识了,更多的是分析业务,针对业务做优化。不同业务需要的优化方案完全不一样。
gBurnX
2021-03-13 23:21:16 +08:00
@seanxx 你说的这玩意可是当今顶尖科技。这类知识,能用的,国内我没发现,国外接触不到。
AxEqaq
2021-03-13 23:25:07 +08:00
@gBurnX 本科做的 os 原型我不说啥,db 那就是个最简版的 nosql,这些课堂作业做的 lock 更严谨点应该叫“封装了下 latches”······

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/761248

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX