00:00
好,咱们现在的时间是晚上的这个八点半,那么咱们就开始今天晚上的这个学习,那么今天晚上呢,咱们来给大家介绍一下MYSQL的什么呢?存储引擎,那么我们在MYSQL里面存储引擎是非常重要的一个部分,因为呢MYSL它会存过存储引擎来存储和读写数据,并且呢,MYSQL里面它支持各种不同类型的存储引擎,那我们就需要对这些存储引擎它们的功能和作用要有一个基本了解,因此呢,咱们希望通过今天晚上的学习,能够让大家对我们的myicon能够有一个进一步了解,为咱们后续的深入学习奠定一个基础。那大家之前哈听过赵老师的课程,那应该都知道,赵老师呢,在上课的这个过程当中,会给大家记录这样的一个课堂的笔记。
01:00
通过记录这样的一个笔记,我们会把课程里面比较重要的知识给大家记录下来,因此呢,今天晚上咱们也会按照同样的这种方式来给大家记录一个笔记,重点给大家介绍以下两个方面的知识,那么咱们首先需要对关系型足据库的一些基本知识要有一个初步了解,那么比如说你的什么,你的mexicoco也好,你的什么呢,Oracle也好,包括了postcom等等等等,这些都是属于咱们的关系型数据库,因此呢,首先第一个知识呢,咱们就需要对关系型数据库L的基本的概念,包括它有哪些特点要有一个了解,那么了解到这个知识以后呢,重点讨论一下MYCQL的什么存储引擎,那么通过咱们刚刚的这T上。我们提到MYSQL里面呢,支持多种类型的存储引擎,好这个地方赵老师呢,就需要问各位直播间同学啊,你能不能够把我们在MYSQL里面它所支持的主要的存储引擎发送到咱们的公屏之上,那如果说大家都知道呢,就请积极回答一下赵老师的问题,如果说大家不了解,那么就请在我们的公平之上,请给赵老师呢回复一个0,或者给赵老师呢点一个赞,好咱们接着呢往下来给大家进行相关的介绍,好这里呢,张老师把我们在MYSQL里面几款比较主要的存储引擎先给大家列举在这个地方,首先第一个。
02:45
是我们的什么memory存储引擎,那通过使用memory存储引擎,我们可以去创建一张内存表,那么此时表中的数据它只会存储在当前数据库实例的内存里面,这个呢,怎么稍后会通过一个具体的什么示令来演示帮助大家理解,那除了咱们的M存储引擎以外,那么我们在MYSQL里面呢,它主要支持的第二种存储引擎使我们的嘛,Myon, 那么通过使用myson存储引擎,我们能够去创建我们的非事物表,换句话去说,通过使用myon存储引擎,你所创建的表,它是不支持我们的事务操作,对,稍后呢,咱们也会结合一个DEMO的引示来帮助大大家理解。当然我们在MYSQL里面呢,它所支持的第三种存储引擎,那就是我们嘛,In no d.
03:46
嗯,好,这个那我放到稍后来给大家进行相关的介绍,对,那既然张老师在这个方列举了什么三种存储引擎,那么这地方问一下各位直播间同学,你能不能够告诉一下赵老师,目前我们在。
04:04
MYSQL里面默认使用最广泛的存储引擎是哪一种存储引擎,你能够把这款存储引擎的名证发送到咱们的公屏之上吗?好,因此呢,讲到这地方的时候,赵老师呢,就带着大家去梳理一下,我们在今天晚上的这个时候将会学习到哪些知识,好咱们现在呢,咱们就按照这样的这个顺序来给大家进行相关的这个介绍,首先咱们讨论一下第一个问题,关系型数据库的一些基础,比如说刚刚咱们提到了哈,在你的my or PG等等,这些都是属于传统的这个关系型的数据库,对,那么这地方张老师呢,可能就需要问大家一个问题呢,那么大家能不能够告诉一下赵老师,到底什么是关系型数据库呢?你能够把。
05:04
基本的概念发送到我们的公屏之上吗?可能咱们每天。都在使用my com, 都在使用Oracle等等,对不对?但是你是否清楚这些基这些概念,这些概念尽管非常的基础,但是呢,赵老师认为越是基础的概念越是重要,如果说大家认同赵老师的观点,那么就请在公屏之上,请给赵老师呢回复一个1好,感谢我们的龙型天下啊好,咱们讲什么是关系型数据库呢?关系型数据库它最根本的个定义是什么?它是基于我们的关系模型,它们基于关系模型我们所提出来的一种数据库就叫做关系型数据库,那么接着再往下面去讨论,什么又叫做关系模型呢?关系模型它的本质是我们使用一张什么呢?二维表的这种行和列的方式来存储数据的模。
06:10
型,那么就叫做关系模型,那么换句话去说,在你的MYSQL里面,Oracle里面,最终存储数据的模型都是这种二维仪表的行和列,这个是关系型数据库它最基本的一个定义。那么我们在关系型的数据库里面,当你去设计数据库的表结构的时候,对,那么咱们一般来说哈,咱们需要什么?遵循我们的范式,那么什么叫遵循范式呢?当你拿到一个需求的时候,那么先根据这样的需求设计出我们的一二模型,也就是实体关系模型,那么有了一二模型以后,再抽象城市关系模型,然后呢,再根据范式,比如说我们的第一范式。
07:05
我们的第二范是我们的第三,最终设计出关系型数据库的表结构,对这个呢,是我们在关系型数据库里面基本的一个做法的好的地方,赵老师呢,可能又需要问大家一个问题呢,能不能够告诉一下赵老师,我们在关系型的数据库里面为什么要遵循范式,那遵循范式以后他有哪些优点,他又有哪些缺点?好,首先大家能不能够告诉一下赵老师,范胜他有什么优点,你能够把他的优点发送到咱们的公屏之上吗?如果说大家都知道,那么就请积极回答一下赵老师的问题啊,如果说大家并不是很清楚。就请在我们的公屏之上回复一个0,或者给赵老师呢点一个赞啊,让赵老师呢能够知道大家都还能够跟得上,对,好,咱们接着呢往下来给大家进行相关的介绍,好我们讲范式的什么呢?主要的优点是什么呢?它能够去减少数据冗余,那么什么叫减少数据冗余呢?因为你在遵循范式的时候,你去设计表结构的话,表与表之间通过什么表的外键那么进行关联对不对?那这样的设计思想,它是能够减少数据冗余,数据并不会多存,但是请大家注意,正因为它有这样的一个优点,同时也就带来了一个缺点,缺点就是是当你遵循范思以后的缺点是它会什么影响查询的效率嘛。
08:59
嗯,那么为什么说它会影响查询的效率呢?刚刚提到你遵循范式以后,你把数据存储在多张表格当中,表与表之间通过这个表的外键那么进行关联,而你要查询数据的话,很明显我们就需要执行的什么多表连接的什么多表查询,而你在执行多表查询的时候,它就会首先产生我们的笛卡尔级,那么由于在笛卡尔级里面它包含一些不正确的数据,那么因此呢,咱们需要使用这样的连接条件来去避免使用抵抗全景,那么这样的一个过程,它是会影响查询的效率,因此呢,有了这个基本的知识以后呢,好,咱们先给大家小节归纳一下,那么整个这个关系型数据库啊,在它最基本的一个什么。
09:59
啊,出发点是什么的?那么怎么讲,关系型主据库,不管是你的all my com PG也好,基本的出发点是什么呢?通过牺牲好,通过牺牲什么查询的效率来干嘛呢?节约存储的空间好,这句话请直播间的各位同学一定要记住,对,重复一遍,整个关系型数据库基本的出发点就是通过牺牲查询的效率来节约存储的空间,因为在早些年的这个时候,存储的这个机子它是非常的昂贵,既然存储介质非常昂贵,那么咱们需要节约一些存储空间。
10:48
哪怕影响查询的效率,那么都没有任何的问题,对这个呢,是整个关系型数据库的么?最基本的一个什么出发点,对,那么现在随着这个存储的介质不断便宜呢,我们需要追求这种什么呢?高的查询的效率,因此呢,基于这样的一个什么基本的思想,给大家补充一点点的知识,那谷歌他就发表了一篇论文,叫做什么叫谷歌的什么big table, 那就能翻译成什么中文的话,它就是我们的什么大表,那大表的这种思想,它跟我们在关系型主据库里面思想,那正好是截然相反的,那什么叫大表呢?大表的思想非常简单,对,它就是把什么呢,所有的数据存入一张表中,那么既然你把所有的数据存入一张表当中,很明显这种方式。
11:49
他是什么反方式的,反方胜就表胜他不遵循我们的范式,那既然你不不遵循范胜,它就会造成数据冗余,对数据它会多存对,但是呢,它所带来的优点和好处就是它能够去提高查询的效率,因此呢,大部的思想跟我们在关系行诉困的思想呢,正好是截然相反的那些地方,顺便问大家一个问题,你能不能够。
12:23
告诉一下赵老师,哪款数据库它是大表的一个具体实现,你能够把这款数据库的名字发送到咱们的公屏之上吗?好,如果说大家都清楚呢,就请积极回答一下赵老师的问题,如果说大家不了解,那就请在我们的公屏之上回复一个0,或者给赵老师呢点一个赞啊好,我们接着往下来给大家进行相关的这个介绍,好现在呢,怎么回到上面的什么呢?关系型数据库的的这个地方,接着讨论关系型数据库里面还咱们需要知道的知识,那你的这个关系型的数据库,不管是那什么or mysq也好的,他在读写存储的数据的时候,它都是按照我们的行式存储方式,那这个地方需要解释一下什么叫做我们的行式。
13:24
存储行式存储简单来说就是我在读写数据的时候,读写完第一行,在读写第二行,那么在读写第三行,他以这种行为单位来读写数据,好这个地方很自然而然的,赵老师们也需要问大家一个问题,就是说这种行式存储的关系型的数据库,它主要适合执行哪些操作,那么你能够把它适合执行的操作发送到我们的公屏之上吗?好,咱们需要对每种类型的数据库,它的应用场景要有一个了解,这样子呢,可以为我们以后的技术选型做一个参考。好张老师呢,重复一遍刚刚的问题啊,就是说传统的这个关系型数据库or可也好,那些课也好。
14:24
它都是行式存储的,那么大家能不能够告诉一下赵老师,行式存储的这种数据库主要适合执行哪些操作,对这个呢,非常的什么重要的总节点,它主要适合什么呢?执行我们的DML是操作,那么什么叫DML呢?就是我们的数据操作语言,它具体指的就是我们的吧插入,还有更新,还有我们的吧删除操作,那么反过来去说。你的这个什么,你的这个关系型数据库,它就并不适合执行我们的查询语句,比如说当我们需要构建数据仓库的时候,那我们在数据仓库里面就需要去执行大量的什么查询语境,那如果是这种场景呢,推荐使用咱们的劣势存储啊,那么劣势存储的数据库非常适合执行我们的么查询语句,对,那这常大家需要去了解一下,对好这个地方问一下各位直播间同学,你能不能够把一些比较常见的历式存储数据库的名字发送到我们的公屏之上呢?对,发这地方赵老师呢,给大家介绍一款其他的数据库啊,那就是我们的吧,这个HM base, 那首先大家需要知道h base它属于什么,它属于我们的哈多生态圈。
15:55
并且呢,它是一个什么?它是一款no c库数据库,那么我们可以把no c库数据库划归到大数据体系里面,对,因此呢,大家后续你要系统的去学习有关大数据的知识,需要去学习我们的Lucy com, 好,简单介绍一下h base h base呢,它是属于哈多普里面基于HDFS之上的一个什么呢?历史存储的数据库,并且它是谷歌big table大表的一个具体实现,好这句话呢,我再重复一下h base它属于什么呢?哈都普里面基于HDFS之上的一个什么呢?Logc口数据库,你在h base里面,你所创建的表中的数据,最终都将以目录和文件形式存储在HDFS里面,因此呢,有了。
16:55
这样的一个关系,以后你在部署环境的时候呢,需要先安装部署好阿豆普的HDFSM,然后再来安装部署我们的h bases, 那h bases呢,它还是一个什么呢?列式存储的数据库,那既然是列式存储的话,它就非常适合我执行查询语句,比如说我们可以使用它去构建我们的数据仓库,对,并且呢,还有一点是什么呢?H base, 嗯,它是谷歌大表的一个什么具体实现,因此呢,你在HP里面,你也可以把所有数据存储在一张表这里面,好,关于这个里面。
17:32
涉及到的什么呢?涉及到的大数据的知识,包括我们的low c口的知识,张老师呢,会在后续的直播课里面单独的来给大家进行相关的介绍,今天晚上呢,咱们重点不讨论这个部分,今天晚上重点还是讨论我们的MYSQ的什么数据库的好这个地方再给大家问一个问题啊对,如果你把MYS掌握以后,问一下大家对学习哪款国产数据库非常有帮助,对因为呢,现在如果说大家要从事数据库啊的从事DBA的工作,对,那你除了需要掌握传统的这个Oracle以外,MYSQ以外,你还需要掌握国产数据库,对好印象对直播间同学你能够告诉一下赵老师吗?我们在国产数据库里面哪款国产数据库。
18:33
供它兼容我们的MYSQL,对,你能够把这一款国产数据库的名字发送到我们的公屏之上吗?如果说大家都了解,就请激情跟赵给赵老师呢回就回复一下赵老师啊,那如果说大家并不是很清楚呢,就请给赵老师呢回复一个0,或者给赵老师呢点一个赞啊,我们接着往下来给大家进行相关的介绍,实际上呢,我们在国产数据库里面很多都兼容我们的MYSQL协议,当然最主要的一款是什么?是我们的TDB,对好TDB呢,它是一款什么呢?国产的关C型数据库,它什么兼容我们的mys com协议,那既然它兼容MYSQL协议,对,那么你在这个TDB里面操作基本上跟我们在MYSQL里面呢,基本上是完全一样的,对。因此呢,大家。
19:33
当有了这个MYCQ的基础以后,你的上手这个什么TD病呢,会非常简单,那顺便提一下tidd病,它跟MYC最主要区别在哪里呢?最主要区别在于我们的这个my com它是个什么?它是一个集中式存储的数据库,而我们嘛TDB呢,它是一款分布式的什么数据库,对,那集中式存储跟你的分布式存储它有什么区别呢?如果说你想在MYSQL这样的什么集中式存储数据库里面呢,你要实现分库和分表的话,那哦,那咱们需要借助数据库的什么中间键才能够去实现,MYSQL本身并不支持分库分表,也不支持分布存储,那么咱们需要借助数据库的中间键,而我们TTB呢?
20:30
它本身就是一款分布式的数据库,因此呢,你在TDB里面就能够很容易的去实现分库,分别实现分布式存储。好关于TDB的什么国产数据库的知识有打磨呀,O型配什经仓等等,当然赵老师呢,也会在后续的直播课里面单独的来给大家进行相关的介绍,今天呢,只是做个简单的一个介绍的,还有请同们介绍到这个地方时呢,整个今天晚上的第一个部分的知识呢,有关关系型数据库的知识呢,那就给大家介绍到这里哈,顺便呢,给大家补充一点额外的一些内容,那好问一下各位直播间同学目关于今天晚上的第一个小节目,大家是不是都听明白了,对,如果说这个小节的内容大家都听明白了呢,就请在我们的公屏之上。
21:30
请给赵老师呢回复一个666,或者给赵老师呢点一个赞,让赵老师呢能够了解到大家都还能够跟得上赵老师的节奏就好了,这样的一些基本的知识以后,嗯。咱们呢,进入到咱们的第二个小节,重点讨论一下我们的MYCQ的什么存储引擎,那么通过咱们刚刚的介绍,那么了解到存储引擎是我们在MYQL里面最核心也是最重要的一个部分,对,当然我们在MYSQL里面它支持多种类型的存储引擎,MYC地方呢,主要给大家列举了三个,分别是我们的memory myson和inno DB, 好,这个地方大家能不能够告诉一下赵老师,目前我们在MYSQL里面默认使用或者说使用最广泛的存储引擎是哪一款,你能够告诉一下赵老师吗?因此呢,接下来呢,咱们就需要详细讨论一下这三款存储引擎他们各自的特点,以及我们可以把它用在什么样的场景之下,好回答一下刚刚的。
22:47
问题啊,那我们在MYSQL里面,那默认默认使用包括了使用最广泛的是我们的什么in DB存储擎,而这个inno DB存储引擎非常类似什么呢?非常类似or和我们的po c, 那那么换句话去说,如果说大家了解掌握了什么in no DB以后呢,你去学习or或者学习PG呢,会非常简单而容易,当然反过来也可以啊,对,如果你对or和对PG了解以后,反过来学习my system in know DB呢,也会非常简单和容易的。还有什么现在呢?咱们现在主要给大家介绍这三款存储引擎,他们各自的什么特点,分别是什么?好,我们首先介绍第一款,那就是我们的嘛memory存储引擎,那通过使用什么这个memory存储引。
23:47
本集目我们所创建的表,它是一张什么内存表,那如何去理解什么叫内存表呢?那么这个时候这张表中的数据,数据只存在什么?只存在于当只存在于当前数据库的什么实例中,对,它只存在于当前数据库实例的内存里面,如果说mysql down精或者重新启动以后,这种内存表示的数据都将会丢失,那么有了这个基本的知识以后,对咱们现在呢,通过一个DEMO隐让大家理解到底什么是我们的memory存储引擎,到底什么是我们的内存表,好切换到咱们实验环境当中去啊,对,好,咱们连接登录到咱们的my SIM code的什么数据库上,那连接调数据库实际上以后啊,注意一下这地方准确的。
24:47
说法是通过数据库使令来是操作咱们的数据库,不管你是用关系型数据库还是NOC库,都是通过数据库使令来去操作咱们的数据库,对好进入到某一个什么数据库当中去啊,咱们去创建一张表,对当你创建表的时候,如果不指定这张表它使用哪一个存储引擎,默认将会使用咱们的in no DB存储引擎的,先看一下这下面呢,有哪些表对好下面呢,由我们的这个部门表,员工表,比如说现在我想看一下创建这张部门表D1P这D1PT的时候,它使的是哪种存储引擎,我们可以实行我们的修语句来看一下好了,看一下通过这种项后们写上什么可以什么table dptj, 我通过使用这条语句什么。
25:47
就能看到了,当初创建这一张表的时候,它使用的是哪一种存储引擎,那为了显示格式呢,输出好看一点呢,后面跟上一个什么斜线进就表示呢,换行显示好通过打印输出的信息,我们会发现当时我们在创建这张部门表的时候的使用的是我们的in no DB存储引擎,那么换句话去说,你通过使用什么engine键关键字,你在创建表的时候呢,你就能指定使用哪一个存储引擎作为这一张表的存储擎的好有的这个基本知识以后,现在呢,咱们就使用memoryry要创建一张内存表的语句,当然很简单的,基本上跟创建表呢是完全一样的,它写下,写下的语句叫做我们的课,我们的table表,这test什么音表结构你。
26:47
里面只会包含两个字段,一个是ID哈,它是一个整数,后面呢,再来一个什么字符串,对,后面如果你后面不写任何选项,默认将会使用咱们的in no DB来创建这张表,但是呢,后面怎么跟上一个engine选项表示呢?使用哪一个存储引擎来创建这张表呢?指定我们的memory的,它通过使用这样的一种方式,我就创建好了一张内存表,此时这一张表的数据只会存储在当前数据库的实例的内存里面的,好,现在呢,我往这张表里面。
27:33
我来插入我们的数据in that的什么inter test的什么in数据呢,非常简单,对,那么就是我们的一号名称叫做我们Tom,这条数据它会保存在当前数据库的实例的内存里面,他们执行一个简单的什么查询与此时数据当然会被什么查询出来的,他信呢,我去重新启动一下MYSQL嘛,出一个实例,一旦重新启动以后呢。
28:07
嗯,整个实例的内存它都将会被清空,它退出当前的连接,通过使用什么session,它control大一下我们的mysql form, 好,通过从这一条语句重新启动了我们的MYQ,对,好重新启动完以后,他们再去查询一下刚刚的表里面是不是还存在数据呢,连接到我们的MYSQL上,对切换到DEMO数据库的去执行一个简单什么查询与从刚刚的什么TEST1列表里面查询,好这个地方问一下对位直播间同学,大家能不能够告诉一下赵老师,这一张表里面有数据还是没有数据,如果说大家觉得能够查询出数据,就请给赵老师呢,回复一个有,如果说大家觉得不能够查。
29:07
查询出数据就请给赵老师呢,回复个没有对,好回答一下龙行天下的同学,不用先commit吗?不用不用,因为我们在MYSQL里面它默认没有开启事物,那么既然没有默认开启事物,每一个DML就实际上呢,就会单独做一个什么事物来执行,执行完以后呢,它就自动的这么提交,对那关于事物知识怎么会放到稍后面来给大家进行相关的介绍,好重复一下刚刚的问题啊,大家能不能给我们告诉一下赵老师,现在的这套查询已经。能够查询出数据,还是不能够查询出数据,对好执行的查询,通过查询我们可以发现呢,这条查询语境查不出任何的数据,为什么?因为这一张表它是一张内存表,看一下当初咱们怎么创建的,对当初创建表的时候他们使用的什么,使用的存储引擎是我们的嘛,这个memory,对,通过使用memory存储引擎,你所创建的表它是一张内存表,此时这种表的数据只会保存在当前数据库实内的内存里面,因为咱们刚刚重新启动过,重新启动过以后呢,所有内存的数据都将会被丢失,因此呢,使用内存表它只能够当成缓存来去使用,它不支持我们的数据持久化,这个。
30:45
这话呢,给大家记在咱们的课堂笔记上,再那么通过创建内存表,那咱们可以把内存表呢,当什么,当成缓存,那就使用呢,既然只能够当成缓存使用呢,它这种不,它就不支持我们的数据持久化,那么也就是说你不能够把一些比较重要的数据存储在我们的内存表格当中,好一层讲到这个地方的时候,问一下各位直播间同学们关于。
31:19
什么是我们的memory存储引擎?什么是我们的。什么是我们的内存表,大家是不是都听明白了,如果说这个地方大家都听明白了呢?就请在我们的公屏之上,请给赵老师呢回复一个666,或者给赵老师呢点一个赞,大家这个地方都听明白了吗?对好,掌握内存表以后,好,咱们就把第一种存储引擎,到底什么是我们的memory存储引擎给大家做个什么介绍,对好,接着呢,咱们来介绍我们的第二款存储引擎,那就是我们的son存储引擎,那什么又叫myson存储引擎呢?通过使用存储引擎我们创建的表,它是张什么呢?它是一张非事务表,那什么叫非事物表呢?也就是说这种表它不支持什么事务操作,那因此你要讨论。
32:26
MY上存储引擎要讨论非事物表之前,首先我们就需要知道什么叫做我们的事物,那事物呢,是我们在关系型数据库里面非常非常重要的一个什么概念?那咱们讲目前的这个什么呢?Low c的数据库。还不能够取代关系型数据库呢,很重要的一个原因就在于呢,No cql数据库它不能更严格意义上去保证事物的acid属性,那比如说尽管在你的什么就red或者是mango DB里面,它也支持一些事物操作,但是呢,它还是不能够严格保证事物的acid,因此呢,咱们在讲这个地方之前,首先就把事物的一些基本知识,那么再来给大家做个详细介绍,事物呢是我们在关系型数据库里面最重要的一个什么特性?对好,这个地方问一下各位直播间同学,能不能够告诉一下赵老师,到底什么叫做事物,你能够把事物的基本的概念发送到我们的公屏之上吗?好,如果说。
33:40
大家都清楚啊,都知道,那就请积极回答一下赵老师的问题,如果说大家不了解,那也没有关系,那就请在我们的公屏之上,请给赵老师呢回复一个0,或者给赵老师呢点个赞,让赵老师呢能够了解到大家都还能够跟得上赵老师的节奏。好,我们接着往下来给大家进行相关的介绍,对,那到底什么叫呢?首先大家需要知道宋它是由什么写下,宋它是由一组一组DMM语句组成,它刚刚解释过什么叫DML句,那我们在DML语句里面呢,是包含什么插入更新,还有我们什么删除操作,那么换句话去说,我们在事物里面不包含我们的什么查询语句是不是样知既然。
34:41
DOM它是由一种DML去组成,它有什么特点呢?这一种DLGM要么都执行成功,要么都执行不成功,它不存在一半成功一半失败的情况,那这个也给大家接下来这一种DMLGM它的特点是什么?要么要么都成功,要么呢,要么都不成功,这个呢是整个数的嘛,它的原子性它所保证的,对,既然是如此的话,问一下各位直播间同学。
35:19
你能够告诉一下赵老师吗?我们在关系型的数据库里面,事物它具备哪几个属性?这几个属性刚刚咱们都提到过,对大家能不能够告诉一下赵老师啊,事物它具备哪几个属性?你能够把这几个属性的名字那都发送到我们的公屏之上吗?实际上呢,这个问题咱们刚刚都讲到过呢,好,通过咱们刚刚的这介绍啊,我们知道了整个的事物呢,它一共具备四个属性,分别是我们的ACIIDACIID是怎么个数的呢?四个属性好,这个地方简单介绍一下,什么是我们的ACID,那么这个A代表什么呢?A代表我们的原子性啊,C代表什么呢?代表咱们的持久性,I代表什呢?啊,C代表C代表。
36:20
C代表我们的这个写错了,C代表我们的一致性,I代表什么?I代表什么呢?隔离性,而我们的D呢,代表19性的好,这个呢是整个事物的什么四个属性好,既然它具备四个属性,赵老师呢,问一下各位直播间同学,你觉得在实现的时候,哪个属性最难实现?你能够把你认为最难实现的属性发送到我们的公屏之上吗?对这些知识。都是大家后续你在学习关系型数据库的时候,那需要重点掌握的内容呢?好,我们既然往下面讲呢,那张老师认为呢,在这四个属性里面,最难实现的是我们的隔离性,那通过隔离性他能够呢,隔离不同事目操作同样数据,他们之间什么相互影响,既然有隔离性它就是什么,它就会有隔离级别,如果说你在数据库里面把隔离级别设置成不同的隔离级别,它有可能会带来我们的脏读,不可重复读和换读等等问题,这些问题不管是大家在学BY学习or学习PG的时呢,都需要掌握知识。好我们简单解释一下这四个属性,什么叫做am原子性,原子性它表示是。
37:56
度呢?它是一个什么?它是一个原子单位,不可再分,要么都成功,要么都不成功,就表示它是原子性,那什么叫一致性呢?
38:10
一致性表示,那我数结束前和结束后,数据库中的数据应该从一个正确的状态转换到另外一个什么正确的状态?它不应该存在一个中间状态,这个呢叫做一致性。那什么叫隔离性呢?隔离性表示那么由于数据库它支持并发操作,对我们就需要通过隔离性来控制不同事物操作同样数据的时候,他们之间相互的影响,并且通过使用隔离性我们能够实现什么功能?通过使用隔离性我们能够去实现MVCC。好,问一下各位直播间同学,知不知道什么是MVCC,你能够把MVCC的中文名字发送到。
39:10
我们的公平之上吗?MVC生当然也是我们在关系型主据库里面非常重要的一个什么特性,那么到底什么叫MVCCC呢?大家能不能跟告诉一下赵老师,如果说大家知道呢,就请积极跟老师互动一下。如果说大家不了解,就请赞公屏之上回复一个0,或者给赵老师呢点一个赞,那咱们接着往下来给大家进行相关的介绍。MVCC的中文名字叫做多版本的并发控制,实际上呢就是隔离性的一个什么具体体现,它有两种实现方式,一种实现方式我们可以使用什么安顿还原数据来实现MVCMVCC的第二种实现方式,我们能够使用版本号方式也能够去实现MVC,那这句话呢,重复一下MVCC。
40:19
他有什么恩?它有两种实现方式,嗯,一种式,嗯基于昂do方式去实现,一种方式嗯是基于什么版本号方式,嗯去实现,好这地方问一下对位直播间同学,你能够告诉一下赵老师吗?My c com使用哪种方式实现了MVCCC,那or什么是哪种P进又是是哪种呢?那大家能不能够告诉一下赵老师,这些知识都是大家后续你在学习关系型数据库的呢?那需要重点掌握的什么内容啊,简单给大家补充一点点知识,那如果你使用是or orac和my com, 他们使用是on do方式实现MVCC,而我们的PG使用是版本浩方性实现MVCCC,好在呢,请大家。
41:17
5。请大家呢都记住,那么关于这里面更加系统知识,赵老师呢,当然也会在后续的什么课程里面来给大家进行相关的介绍,对好再讨论一下最后的一个,那就是我们嘛,这个持久性,持久性就表示什么意思呢?表示事物提交以后,它不会因为当今或者崩溃造成数据的丢失,那这呢就叫持久性,好这地方顺便问大家一个问题,那你在关系型数据库里面提交事物以后,支持持久性,提交事物的本质那是什么?大家能不能够告诉一下赵老师,单独写个笔记本,好,我们讲提目交事物的本质是什么,如果说大家知道它的本质,那就请告诉一下赵老师,如果说大家不了解,那么。
42:19
也没有关系,那就请在我们的公屏之上回复一个0,或者给赵老师呢点一个赞,到底什么叫提交?提交就是简单的commit语句吗?对Commit本质什么本质?将我们的嘛,将我们的事物操作写入什么重做日志这句话请大家记住,提交事物的本质是将事物操纵入重做日志,只要日志写入成功,就算提交成功,这个时候跟你的数据本身,数据文件没有任何的关系,那这句话呢,请大家一定需要记住,好就是讲到我们的事物这地方,那就把整个事物里面涉及到的核心知识都给大家做了一个非常详细的介绍,好问一下各位。
43:20
直播间同学们,关于这个地方大家是不是都听明白了?如果说关于事物的这些知识大家都听明白了呢?就请在公屏之上,请给赵老师呢回复一个1,或者给赵老师呢点个赞。当你把事物理解以后,什么叫myson存储引擎,什么叫非事物表呢?自然而然的就能明白。换句话去说。通过使用myson存储引擎,我们创建一张非事表,它不支持事务操作,好一个基本的这个概念以后,接下来呢,咱们通过DEMO衍生看一下到底什么是我们的麦生,到底什么是非数表啊,切换到咱们实验环境当中去的,好咱们去创建一张新的表,新的表呢,好写一下我们的什么cur。
44:20
C table表呢,叫做我们的test ARM表,结构非常的简单,里面它会包含两个字段,一个是ID号,它是一个整数,对后面呢是一个名字,它是一个什么我们的字符串,对好后面呢,咱们再写上一个选项叫engine,指定这一张表的存储引擎是我们的吗?Myon存储引擎,那么通过使用这样的一种方式,我就创建好了一张非数务表,那么它不支持我们的事务操作,好,现在我开,我来开启个数,往这张表里面呢,插入数据很简单很简单,S大家这个什么我们的穿section好,事物开启以后对不好,往这张表里面呢,我来插入一条数据in that, 什么into test2value一号名字叫做我们to。
45:20
把执行完以后呢,我来做个什么操作,我来执行一个如巴克里什么回滚操作,回滚完成以后是我里面的所有的DML都将会被撤销掉,毫无印象各位直播间同学。你现在你能够告诉一下赵老师吗?这一张TEST2的表里面有数据还是没有数据,如果说大家觉得有数据,就请给赵老师呢,回复一个有,如果大家觉得没有数据,就请给赵老师呢,回复一个没有,给大家10秒钟的思考的时间,思考完以后请你把你认为的答案发送到我们的公屏之上啊。
46:14
啊,大家能不能够告诉一下赵老师,这张表里面有数据还是没有数据呢?对好,大家积极思考一下,如果说大家觉得有数据就请给赵老师呢回复一个有,如果说大家觉得没有数据,就请给赵老师呢回回复个没有,让大家积极跟老师呢互动一下,要么好,现在咱们接着往下面。来给大家进行相关的这个介绍的好,你要确定这一张表里面有数据还是没有数据,那那你去执行一个简单的查询语句是不是就可以了,对,好,感谢咱们各位同学,感谢尾号是352的龙行天下,对,那么你要确定这张表里面有数据还是没有数据,那你去执行一个非常简单的查询语句,那么不就知道了吗?对,好,查询一下s select个什么我们的新for什么TEST2,那通过这条查询语句你会发现呢,这张表里面现在是有数据的,为什么会有数据呢?那你刚你刚刚明明不是执行过一个什么如巴C里吗,一个回滚操作吗?回滚完成以后,为什么这张表里面还有数据呢?因为。
47:45
这张表TEST2它用的是什么?用的是我们的myson存储引擎,Myson存储引擎它创建的是我们的非事务表,换句话说,非事务表它是不支持事务操作的,既然它不支持事务操作,你在这地方。
48:06
开启事物回滚事目针对这个表呢,都是一个无效操作,对好问一下尾号是353522同学,你刚刚说的是没有,有没有听明白,为什么这张表里面有数据,如果你听明白了呢,请给老师们回复一个1好一层讲到这个地方呢,我们就通过了一个什么具体事令来给他家讲一下,到底什么是我们的myson,到底是什么是我们的非数表,那么有了这个知识以后对不对?那么咱们可以把mason把这种非表应用在什么样的场景之下呢?好,咱们能看到题目啊,能们能看到题目,对好,大家看题目当中的我们的什么。我们的这个第4道题啊,好,这个呢是一道选择题,对不好,使用my com构建数据仓库的时候,推荐使用哪一种存储引擎ABCD,好,各位直播间同学们,给大家30秒的思考的时间,思考完以后你能够把正确的选项发送到我们的公屏之上吗?好,大家积极跟老师们互动一下,这道题目应该选择哪一个选项?
49:31
好,请把你的选项发送到我们的公屏之上啊。好,这个题目应该选哪个呢?选哪个呢?如果你要使用my com来构建数据仓库呢?你们应该选推荐使用哪一种存储引擎呢?顺便介绍一下我们的什么数据仓库,那你在数据仓库里面一般情况下只会去执行大的什么查询语句,并且呢,一般情况下啊,这不绝对不绝对啊,不绝对,一般来说我们在数据仓库里面一般也不支持事务操作,如果你要使用my com构建数据仓库的话,推荐使用我们的myson存储引擎,Myson存储引擎不仅仅管理非数务表,同时它还支大数大量数据什么高速查询,因此呢,非常适合构建我们的数据仓库,因此呢,这道题目正确的选项是我们的A选项,当然目前构建数据仓库的主要方式呢。
50:41
都是使用咱们的大数据方式,比如说1可以使用哈杜普M10SPA克,你构建我们的数据仓库,那么关于大数据的什么知识呢?赵老师呢,也会在后续的。这个直播课里面单独的来给大家进行相关的这个介绍,对,好,因此呢,介绍到这个地方的时候,有关我们的第二个存储引擎myson就给大家介绍到这个地方,好问一下各位直播间同学们,到目前为止我们已经介绍过了两款存储引擎,一个是我们的memory,一个是我们的myson,这两款存储引擎大家是不是都听明白了,如果说大家都听明白了呢,就请在我们的公屏之上,请给赵老师呢回复一个666,或者给赵老师呢点一个赞,咱们今天晚上呢再来给大家介绍一下我们的什么赢得地域,好这常讲就不作为重点了,对,尽管它是默认什么纯粹引擎,因为这个indo DB呢,它非常内似我们的orcom,或者说内我们的PG。
51:56
因此呢,关于这个里面更加系统的知识呢,赵老师呢,会放到后面给大家讲Oracle时候面讲PG的时呢,要单独给大家做一个什么介绍,先简单介绍一下我们indo DB, 那indo DB呢,它是整个目前我们在使用MYCQL的时候,最主要使用的一一种存储引擎,它有三个部分组成,那三个部分呢,写下,首先inno DB的什么?它的第一个组成部分是它的什么?它的这个存储结构啊,存储结个是整个inno DB里面的吧,第一组成部分,它的第二个部分是我们的内层结构,那第三个部分呢,是它,它什么线层结构,这三个部分共同组成的EDB,那or和PG呢,基本上是一样的,只不上or里面呢,包括PG里面,它用的是进程,而MYSQL用的是。
52:56
现成的,而在这三个结构里面,当然最核心也是最重要的就是它的存储结构,MYSQL也好,Oracle也好,PPT好,都是通过存储结构来去读写数据,那存储结构它用了具体分为两种不同的类型,一种类型是我们的逻辑存储结构,而第二种类型是我们的嘛,这个物理存储结构,只要是数据库,不管你是。
53:30
关系型的数据库还是loc com, 都通过逻辑存储结构来管理。物理存储结构这句话呢,给大家记在咱们的课堂笔记上很重要,为红色字给大家标识出来啊,只要是数据库,不管你是关系行的还是no西,都是什么通过我们的,都是通过我们的逻辑存储结构来管理。什么物理存储结构好注意这个里结构对好注意这个里面具体包含哪些呢?简单做一个什么介绍,比如说逻辑存储结构里面包含我们的,包含我们的表,空间段,我们的区,还有个数据页,这些共同组成的法逻辑存储结构,那什么又叫物理存结构呢?物理存储结构它只是硬盘上面。
54:31
等各种文件,有哪些文件呢?有我们的数据文件,有我们的日证文件,还有我们的参数文件等等等等,我们把这些文件都叫做我们的物理存储结构,不管是在inno DB里面,还是在Oracle里面,还是在PG里面,它都是通过逻辑存储结构来去管理我们的物理存储结构的,所以这里面更加系统知识赵老师他刚刚讲过的具体放到后面。
55:06
我们来给大家介绍all,介绍PG的时候呢,再来给大家进行详细的介绍,因此呢,这个部分呢,今天晚上只是做一个简单跟么介绍,让大家呢能够有个什么有一个认识,你还一从介绍到这个地方呢,基本上咱们就把目前MYSQL里面主要的存储引擎,比如说有你的什么呢?Memory, 有你的MY,有你的什么in the d都给大家做个什么,做个详细的一个说明,对,那么毕竟呢,每次直播的时间大概呢,就只有一个小时呢,那么利用这一个小时呢,仅仅只能够让大家有一个基本的了解,如果说大家要系统的去学习MYSQ也好,学习Oracle也好,那学习PG也好等等也好,包括学习国产数据库也好,仅仅靠直播的一个小时,因此呢是远远不够的,那么因此呢,每次直播的时候呢,赵老师呢,都会推荐一门课程。
56:06
给大家,那么当然今天晚上推荐的就是MYSQL数据库进阶实战这门课将从零开始学习我们的MYSQL,对好大家呢,可以点击直播间的讲解卡,那可以看到一个什么非常详细的一个什么课程大纲,对并且课程呢,提供完整的什么课程资料和实验环境,当然你在学习过程里面呢,如果你有任何问题呢。你也可以随时的问我啊,咱们提供在什么答疑的服务,并且呢,课程还会定期的更新,会把更多内容包含在课程体系里面,比如说我们在2026版课程里面就把数据迁移,如何通过数据迁移方式把其他数据库的数据迁移到MYSQL里面来,补充到了什么课程体系里面,那么大家拍了课以后呢,请通过私信把你的联系方式发送给赵老师,还从讲到这地方呢,基本上今天晚上由赵老师要给大家分享的知识大概就剩这么多啊好,现在的时间是晚上的9:27,赵老师呢,9:35下播啊,9:35下播,剩下的什么?呃,剩下的时间9:35下播。
57:34
定下的时间答疑,或者大家去拍一下什么课程啊,拍完课程的同学们请通过私信把你的连线发送发送给赵老师,新进来的同学们点点关注好,要问问题的同学们请把问题发送到公屏之上。要拍课的同学。直接点击直播间的讲解卡,拍了课以后呢,请通过私信把你的联系方式发送给赵老师啊,新进来的同学点点关注,赵老师呢,9:35下播啊,看看大家还有什么问题没有?看大家还有什么问题没有啊。
58:39
哈,大家有问题吗?
我来说两句