RDBMS | 「第五届青训营 」

51 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 33 天

今日回顾的内容主题是《深入理解RDBMS》;

(1)经典案例:说到关系型数据库,就不得不提到事务,ACID,以抖音红包雨的案例来说,其实在我学习DB事务时最经典的例子也莫过于转账了,要确保a+,b-;两者操作必须同时绑定生效,任何一方失败就要回滚。概括说事务是数据安全的一部分保障。除此以外,还需要高并发高可靠,海量用户的高频访问,服务端必须有稳定的服务和快速的反应。

(2)发展历史:前DBMS时期:包括结绳记事,账本,打孔,包括一些早期的文件系统;1960s,DBMS应运而生,根据数据模型的特点分为:网状数据库,层次数据库和关系数据库。不准确的说,以数据结构类比,网状象图,层次是树,关系是一张张表。在这部分末尾,简单介绍了SQL的特点和整体历史回顾。 (3)关键技术:在这部分开始前,提个题外话,这两天去做沸点阅读的活动,看文章阅读打卡,正好在看MySQL架构全解系列的帖子,和这部分也有重叠,包括原文章的讲解也清晰易懂,让我对DBMS底层技术有了一个简要的认识,也推荐对其感兴趣的可以阅读。这里附上原文链接juejin.cn/post/714361…。文中图片也选自原文章。

image.png

上图展示了一条SQL的一生,举个例子说:用户在浏览器发出一次请求,一条SQL产生了,之后又涉及了数据库的连接池,TCP/IP网络连接,最大连接数。SQL语句交给抽象的SQL接口,由解析器做出语法分析,生成语法树,之后交给优化器选择最合适的计划,执行方面由存储引擎负责,并将结果逐条返回给SQL接口后统一返回用户。简单来说便是如此,当然这其中还涉及其他许多细节和情况,我也在继续阅读,加深理解。

当然第三部分还涉及其他东西,比如事务引擎,锁,隔离,redolog,LLVM。

(4)企业实践:主要围绕大流量,流量突增,高可用&高可靠讲解,以问题背景和解决方案,实施效果结合。