深入理解RDBMS | 青训营笔记

114 阅读2分钟

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

一、本堂课重点内容

  • 深入理解RDBMS

二、详细知识点介绍

1.发展历史

  • 前DBMS时代

    • 人工时代:在现代计算机发明出来以前,通过人工的方式进行数据记录和管理
    • 文件系统:1950s,现代计算机的雏形基本出现。1956年IBM发布了第一个的磁盘驱动器--Model 305 RAMAC,从此数据存储进入磁盘时代。在这个阶段,数据管理直接通过文件系统来实现。
  • DBMS时代:1960s,传统的文件系统已经不能满足人们的需求,数据库管理系统(DBMS)应运而生。DBMS:按照某种数据模型来组织、存储和管理数据的仓库。所以通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。

    DBMS数据模型:

    • 网状模型:网状数据库所基于的网状数据模型建立的数据之间的联系,能反映现实世界中信息的关联,是许多空间对象的自然表达式。
    • 层次模型:层次数据模型,即使用树形结构来描述实体及其之间关系的数据模型。
    • 关系模型
  • SQL语言:将codd关系数据库的12条准则的数学定义以简单的关键字语法表现出来。

    • 语法风格接近自然语言
    • 高度非过程化
    • 面向集合的操作方式
    • 语言简洁,易学易用

2.关键技术

  • SQL引擎

    • Parser(解析器):一般为词法分析、语法分析、语义分析等步鄹。
    • Optimizer(优化器):RBO(规则优化器)、CBO(代价优化器)。
    • Executor:火山模型、向量化
  • 存储引擎

    • InnoDB
    • Buffer Pool
    • Page
    • B+ Tree
  • 事务引擎

    • Atomicity与Undo Log
    • Isolation与锁
    • Isolation与MVCC:MVCC意义读写互不阻塞,降低死锁概率,实现一致性读。
    • Durability与Redo Log

三、课后个人总结

数据库是我们开发不能绕过的重要一环,这节课深入的了解到RDBMS的发展和它涉及的一些关键技术,了解到其核心内容,最后在企业级的实践开发中成功了解一些开发项目原理,应用范围,为我后续学习打下大量基础,加油!