深入理解RDBMS-学习笔记

news2025/1/18 16:58:25

1 经典案例

1.1 红包雨

 

1.2 事务ACID

 

1.3 红包雨与ACID

1.3.1 原子性

 1.3.2 一致性

1.3.3  隔离性

1.3.4 持久化

1.4  红包雨与高并发

 

1.5 红包雨与高可靠

 

2 发展历史

2.1 前DBMS时代

2.1.1 人工管理

2.1.2 文件系统

1950s,现代计算机的雏形基本出现。1956年IBM发布了第一个的磁盘驱动器--Model 305 RAMAC,从此数据存储进入磁盘时代。在这个阶段,数据管理直接通过文件系统来实现。

2.1.3 DBMS时代

1960s,传统的文件系统已经不能满足人们的需要,数据库管理系统( DBMS )应运而生。

DBMS:按照某种数据模型来组织、存储和管理数据的仓库。
所以通常按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。

2.2 DBMS数据模型

2.2.1 网状模型

网状数据库所基于的网状数据模型建立的数据之间的联系,能反映现实世界中信息的关联,是许多空间对象的自然表达形式。
1964年,世界上第一个数据库系统——集成数据存储(Ilntegrated Data Storage , lDS)诞生于通用电气公司。IDS是世界上第一个网状数据库,奠定了数据库发展的基础,在当时得到了广泛的应用。在1970s网状数据库系统十分流行,在数据库系统产品中占据主导地位。

2.2.2 层次模型

2.2.3 关系模型

1970年,IBM的研究员E.E.Codd博士发表了一篇名为'ARelational Model of Data for Large Shared Data BankS'的论文,提出了关系模型的概念,奠定了关系模型的理论基础。1979年Oracle首次将关系型数据库商业化,后续DB2,SAP Sysbase ASE, and nformix等知名数据库产品也纷纷面世。

2.2.4 DBMS数据模型

 

2.3 SQL语言

 

2.4 历史回顾

 

3 关键技术

3.1 一条SQL的一生

 

3.2 SQL引擎

3.2.1 Parser

3.2.2 Optimizer

基于规则的优化:

基于代价的优化:

3.2.3 Executor

火山模型:

向量化:

编译执行:

 

3.3 存储引擎

3.3.1 InnoDB

3.3.2 Buffer Pool

3.3.3 Page

3.3.4 B+Tree

 

3.4 事务引擎

3.4.1 Atomicity与Undo Log

3.4.2  Isolation与锁

3.4.3 Isolation与MVCC

3.4.4 Durability与Redo Log

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/387021.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎样对一张图像进行直方图均衡化?(或者图像均衡化代码?)

怎样对一张图像进行直方图均衡化?(或者图像均衡化代码?) 图像增强概述 图像增强是有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差…

认识异或运算

1.什么是异或运算 异或运算是位运算的一种,符号为:^ 运算规则为:相同为0,不同为1 例如 性质: N ^ 0 N N ^ N 0 A ^ B B ^ A (A ^ B) ^ C A ^ (B ^ C)N ^ 0 N public class XorOperation {public static void …

【算法基础】排序 插入、归并、堆、快速 升序+降序

目录 1.排序 1.1 插入排序 1.2 归并排序 1.3 推排序 1.4 快速排序 1.排序 1.1 插入排序 时间复杂度:O(n)~O(n*n) 空间复杂度:O(1) 稳定 步骤: 1.设第一个元素为有序列。 2.取有序列后面的一个元素。 3.将该元素插入到有序列中的正确位…

【C语言学习笔记】:一维数组指针,二维数组指针

数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element)。数组中的所有元素在内存中是连续排列的,整个数组占用的是一块内存。以int arr[] { 99, 15, 100, 888, 252 };为例&am…

Linux | 调试器GDB的详细教程【纯命令行调试】

文章目录一、前言二、调试版本与发布版本1、见见gdb2、程序员与测试人员3、为什么Release不能调试但DeBug可以调试❓三、使用gdb调试代码1、指令集汇总2、命令演示⌨ 行号显示⌨ 断点设置⌨ 查看断点信息⌨ 删除断点⌨ 开启 / 禁用断点⌨ 运行 / 调试⌨ 逐过程和逐语句⌨ 打印 …

C/C++开发,无可避免的多线程(篇二).thread与其支持库

一、原子类型与原子操作 1.1 原子类型与操作介绍 在前一篇博文中,多线程交互示例代码中,给出了一个原子类型定义: // 原子数据类型 atomic_llong total {0}; 那么什么事原子数据类型呢,和c的基础数据类型有什么不同呢&#xff1a…

实验一 Python编程基础

目录 一、实验目标 二、实验内容 1.绘制如下图形 ,一个正方形,内有三个红点,中间红点在正方形中心。 2.使用turtle库绘制如下图形: 3.绘制奥运五环图 4.回文问题 5.身份证性别判别 6.数据压缩 7.验证哥德巴赫猜想 8.使…

JVM常用指令

JVM常用指令1.准备工作2.jps3. jconsole4.jstat5.jstack6.jmap7.jvisualvm工具8.自动dump内存信息1.准备工作 在idea中编写代码 public class JVMTest {Testpublic void test() throws InterruptedException {while (true) {Thread.sleep(1000);System.out.println(123);}} }…

Unity 入门精要01---标准光照模型

本节基础知识结构 基础光照部分 环境光 在标准光照模型中,我们会环境光来代替间接光照 Cambient g amient 我们可以在Windows->Rendering->Lighting->Enviroment进行修改Ambient 的Color 自发光 直接在最后片元着色器输出颜色之前把材质的自发光颜色添…

深圳大学计软《面向对象的程序设计》实验13 运算符重载

A. 三维坐标点的平移(运算符重载) 题目描述 定义一个三维点Point类,利用友元函数重载"“和”–"运算符,并区分这两种运算符的前置和后置运算。 要求如下: 1.实现Point类; 2.编写main函数&a…

关于2023年造林施工、林业设计资质,新办、年审的最新通知!

一、资质类别省林学会本年度开展认定的资质种类包括:造林绿化类(含施工资质、监理资质)、林业有害生物防治类(含防治资质、监理资质)和林业调查规划设计类。二、认定标准资质认定执行以下标准:1.造林绿化施…

边缘计算:万字长文详解高通SNPE inception_v3安卓端DSP推理加速实战

本文是在以下文章的基础上编写,关于SNPE环境部署和服务器端推理可以参考上一篇文章: 边缘计算:万字长文详解高通SNPE inception_v3推理实战_seaside2003的博客-CSDN博客 本文最/关键的是利用SNPE在安卓环境不同的runtimes(CPU/G…

高通 Android10/12 4 6dof Camera+2RGBCamera异常处理经验总结

1 背景:此需求apk距离之前更改时间将近9个月,我们这边原来跟驱动那边对接指令和角度 后续没有改过,测试部说apk cameaid提示信息不正确。 2 原因:因为之前用的1.0基线(Android 10) 后面由于客户功能需求变更&#xff…

进程信号生命周期详解

信号和信号量半毛钱关系都没有! 每个信号都有一个编号和一个宏定义名称,这些宏定义可以在signal.h中找到,例如其中有定 义 #define SIGINT 2 查看信号的机制,如默认处理动作man 7 signal SIGINT的默认处理动作是终止进程,SIGQUIT的默认处理…

23届春招结束_分享java岗面试心得

23届春招结束_分享java岗面试心得 从一月10日开始投简历,经历了两个月的面试与学习,成功拿到了12k13薪的国企offer,春招结束了 一、经历秋招,被所谓的金九银十给坑惨了 在秋招的时候,经过网友(美团java岗…

九龙证券|利好政策密集发布,机构扎堆看好的高增长公司曝光

新能源轿车销量和保有量快速增长,带来了充电桩商场的微弱需求。 日前,商务部部长王文涛表明,本年将在落实好方针的一起,活跃出台新方针办法,比方辅导当地展开新能源轿车下乡活动,优化充电等使用环境&#x…

Vue3中的h函数

文章目录简介简单使用参数使用计数器进阶使用函数组件插槽专栏目录请点击 简介 众所周知,vue内部构建的其实是虚拟DOM,而虚拟DOM是由虚拟节点生成的,实质上虚拟节点也就是一个js对象事实上,我们在vue中写的template,最终也是经过…

Unity RectTransform Scale Handler - 如何在Runtime运行时拖动缩放窗口尺寸

文章目录简介变量说明实现光标移入移出鼠标拖动距离Anchor 锚点目标尺寸扩展方向简介 本文介绍如何在Runtime运行时拖动缩放UI窗口的尺寸,如图所示,在示例窗口的左上、上方、右上、左方、右方、左下、下方、右下,分别放置了一个拖动柄&#…

Spring之基于注解方式实例化BeanDefinition(1)

最近开始读Spring源码,读着读着发现里面还是有很多很好玩的东西在里面的,里面涉及到了大量的设计模式以及各种PostProcessor注入的过程,很好玩,也很复杂,本文就是记录一下我学习过程中的主干流程。 在开始我们源码解读…

2023年湖北武汉中级工程师怎么申请?申报渠道有哪些?启程别

2023年湖北武汉中级工程师怎么申请?申报渠道有哪些?启程别 武汉市中级工程师怎么报名?很多人不知道中级职称怎么申请,在哪里申请,那么启程别来告诉大家,启程别是谁,进入百度搜索启程别就知道啦 武汉中级工…