00:01
大家好,欢迎大家继续收看上硅谷的Linux云计算视频,我是刘川老师。好,我们上节课呢,讲了一下什么是数据库,也就是说数据和数据库的概念讲了一下,那么本节课呢,来讲一下我们的数据库与文件系统的一个区别啊。数据库与文件系统区别那么首先来看一下关于文件系统和数据库系统这两个东西的一个概念,OK。那文件系统这个东西,我们接触的时间相对比较早一些,是在我们的这个Linux的基础阶段,甚至我们在讲这个最开始的那个计算机基础的时候,讲到过的这么一个概念。文件系统这个东西呢,它是操作系统。里边的这么一个分支结构啊,是一个分支结构,是操作系统用于明确存储设备。啊,一般情况下我们指的是存储设备,指的是磁盘之类的啊。那明确存储设备或分区的啊。或分区以及分区上的文件的一个方法和数据结构,然后数据结构也就是说我们的文件系统是操作系统,用来操控磁盘和文件的这么一种管理系统。
01:09
你可以理解为文件系统是操作系统上的一个分支。系统一。个分支系统,那既在存储设备上组织文件的方法,也就是说,呃,我们这个文件系统主要是来进行在我们的操作系统上如何将文件整合保存管理的这么一种系统。那操作系统中负责管理和存储文件信息的软件。机构啊,软件机构称之为叫文件管理系统,简称文件系统。也就是说,文件系统其实也是一套管理软件。它呢隶属于操作系统,你可以理解为是操作系统一个子系统,只不过这个东西呢,专门的作用是来管理我们的磁盘的,以及管理分区和分区上的数据的。那数据如何保存到我们的磁盘上,分区上,以及保存到磁盘和分区上的时候,一个。
02:06
保存方式我们的文件系统还会分更多种类型。那么文件系统类型。啊,注意我们说的文件系统是文件系统软件,而文件系统类型指的是这个软件当中所支持用来保存数据的方式,比如说。NTFS。比如说ext系统。E3E4。比如说叉FS。这些都是隶属于文件系统里边。如何用来保存数据的文件系统的类型?啊,文件系统类型,比如说保存数据的方法。那这个呢,是我们的一个文件系统的一个概念,OK,那接下来我们来看一下数据库系统的一个概念。所有的数据库系统。的DBMS啊,DBMS。是一种操纵。管理数据库的一种大型的软件。
03:01
用来建立、使用和维护数据库,简称DBMS。那它呢?对数据库进行统一的管理和控制,以保证数据库的安全和完整性。保证数据库内的数据的安全和完整性。比如说这个数据库系统的,类似于文件系统,都是用来这个,呃。保存数据的,而且是都是用来规范数据的保存方式啊,安全性等等这些东西那。为什么我们还要有两套呢?那为什么还有两套呢?我们来看一下。对比一下它们的区别啊,首先第一个啊。对比区别里边第一个是管理对象的不同,文件系统的管理对象是文件。它的管理对象是磁盘上的啊。或者分区上的某一个文件,它呢,并非直接对数据进行管理,就是说它管理的是a.dat这个文件啊,x.JPG这个图像。什么F点MP4这个视频文件,它管理的是某一个对象,而这个对象是一个文件,而并非文件内的某一些数据。
04:11
是整体对这个文件的一个管理。不同的数据结构需要使用不同的软件或者不同的文件类型来进行保存。比如说我们想保存这个字符串,纯字符串的可以拿tit的文本来保存。比如说我们想保存字符串,又想保存一些图片等等的,你们可以用doc文件啊。那比如说我们想保存这个图像文件,可以用图片格式JPG啊啊之类的,想保存视频里面可以用什么avi啊,什么MP4啊之类的。音频的可以用什么什么MP3之类的来保存。而且呢,这些不同类型的文件并不能直接通过修改什么,修改文件名后缀,比如说我原来有一个叫啊。A点。MP4的文件,这是一个视频文件,我想给它转换成A点。
05:01
Avi。直接就能通过修改后缀完成吗?对不起,不可以,为什么?因为两个。后缀所使用的编码格式,视频编码格式不一样。MP4的使用变量格式。你直接把后缀改成avi之后并没有用。所以说呢,使用文件系统来进行数据保存的时候,我们只能操作到什么呢?文件这个步骤。至于文件的内容,我们得需要借助什么呢?需要借助更底层的一个软件,就操控这个文件的软件。这个类型为你的软件才能,比如说我们想操控T里边的数据,就需要找什么。文本。软件来进行对这个文件操作,想修改doc里的文件数据,就需要找什么word文档、WPS之类的软件来进行对内容的修改。文件系统只是上层对文件的管理的一个软件,而文件内容得需要额外的软件来进行管理。
06:04
明白这个意思吧,这个应该还是相对比较好理解的。OK,那我们来看一下数据库是怎么来管理的。而数据库的管理是直接对数据进行管理。直接对数据进行存储和关联,而不存在中间的这个步骤。不存之前这个不中。我们只需要通过数据库。管理系统就是DBMS,就可以操作数据了。那就可以操作数据了。那么再看一下存储方式的不同。啊,上面是管理对象的不同啊,下边是存储方式不同。那文件系统呢,使用不同的文件。将数据分为什么?Doc文件、MP4文件、JPG文件保存在外部的存储上。外部存储就是外部存储设备啊。硬盘之类的。而数据库使用统一的标准,将数据保存到数据库里边。然后使用什么作为标准呢?使用数据类型来进行规范数据的分类,比如说字母。
07:08
数字符号时间啊。通过这些东西来进行。对要进行保存的数据进行分类和限制保存。它有一个统一的啊。管理规范和管理制度。啊是不一样的,你看这些都是不一样的啊,点doc的得需要点doc的软件。啊,点IP4得需要IP4软件,点GPD需要JJPG的软件啊。你需要打开这不同类型的文件,需要什么呢?需要不同的这个软件来调用,那存储也是一样的呀,你想存储成不同类型的文件,你得有不同的什么,有不同的。软件程序才能进行保存和生成。而数据库只需要一套什么呢?数据库管理系统就可以完成这数据的保存、调用等等。这是这存储方式的不同,那接下来看还有一个是调用数据的方式也不同。
08:02
啊,调用数据的方式也不同,那文件系统使用不同的软件来打开不同的文件,而数据库使用DBM统一来管理,看下面这个图。数据库系统来调用数据很简单,不管程序A乘以B乘以C,谁想取出去找我?啊,只要找到我,我就可以帮你们找数据。在这个DBMS,也就是说数据库管理系统所能够啊。管理到的范围内的所有数据都可以帮你来调用,那都可以来帮你。这个就是我们的这个数据库啊。系管理系统的这么一个特性。然后呢,再再看一下右边右边这个什么什么的文件系统的数据调用方式。比如说我们想调用一个。既有图片又有字符串的这么一个文本里边的数据,那这个时候可能A程序就必须要找到这个什么,点doc这个文件,才能从这个文件里边取到数据,然后这个点doc的文件去我们的磁盘上找。
09:02
A和B。找A和B2个数据渠道。那这个时候B和C呢,需要取到2.t这个文件,那二点这个文件。而2.tat文件也在我的磁盘上,诶这个时候你会发现,诶,我在右边画这个文件系统的调用数据调用方式的时候,会发现我这个文件1.doc和文件2.t都画了一个数据。因为这个时候程序B和C取的时候,那个文件二里边也包含数据A。啊,然后呢,但是并不仅仅包含数据,除了数据A里边还有一些数据别的,那这个时候它调用的是数据A加上别的数据的那一套,所以说只能从文件二里边调用。文件一里边有吗?有,但是并不能通过文件一调。因为文案一里边只是一部分而不全。但你大家来看一下,我们在这个数据库里边,这就不一样了,ABC啊。更多的,那不管是程序ABC,谁想调用数据A,这个数据都可以通过DBMS来找他。
10:05
不需要存多份。不需要酸粉,这就是溶余度较小。如果说我们需所需要调用的内容比较多的话,那你像这种情况可能在一个磁盘上需要存数据,需要存好几十份才能完成这个。不同。程序调用不同文件这么一个问题。他们的管理方式不同。那并且这个地方其实我还少画了一层,那并且这个地方我其实我还少画了一层,为什么我还少画了谁能打开doc文件的那个程序。谁能打开T文件的程序,这个这个东西。然后还少上了一层。也就是说你会发现,如果再把那层加上的话,我们程序也想调用这个。文件需要专门的一个。能够打开doc文件的这么一个程序来帮我们打开这个文件,才能取到这个doc文件里边的AB2个数据。
11:02
这样才能取得这两个数据。这是我们文件。数据调用方式的不同啊,数据调用方式的不同。这个呢,就是关于我们的一个。数据库与文件系统的一个对比和区别啊。我们下下边来看一下这个优缺点的一个总结啊,OK。那由于DBMS的一个这种数据库管理系统的存在,用户不需要再了解数据存储和其他实现的一些细节,就是你到底是怎么存的呀,啊,存什么位置呢?不需要我们这个用户去,呃,了解了掌握了。直接我们能够会管理这个。DBMS这个系统就能够进行这个数据的存储和管理。为这个调用数据带来了一个极大方便啊,为这个调用数据带来极大方便,再一个具有以数据为单位的共享性。以数据为单位的,而不是以文件为单位的。
12:02
啊,那个是以文件为单位的共享,这个是以数据为单位的共享。我想让你看到某几个字节,某几个字符,就让你看某几个,而不是所有的整个文件都给你。啊,具有数据的并发能力啊,数据访问的并发什么意什么意思啊,就是一个文件可以同时允许多个用户来对这个文件。发起。啊,这就是并发能力,同时对一个文件进行并行的一个读取啊。或写入。看DBMS呢,保存保证了并发时访问数据的一致性啊,这个是后边我们要讲的一个新的概念,就是如何保证我们多个用户在对同一个数据进行访问时,这个数据的一致性啊。再一个就是低延迟访问,就是低延迟。典型的例子就是线下支付系统,我们支付的规模比较巨大。
13:02
数据库的表现远远优于文件系统,然后发现我们这个无时不刻不在使用这个我们的这个数据库呀,微信啊数据库呢,这个支付宝呀,微信在进行一个线上的支付这种业务,但是你会发现会非踌,不管是本地还是你的这个,呃,网络上的这个数据的一个存储,你可能这边刚付完钱去钱包里看,你那个钱就被扣掉了。递延室。那再一个就是关于能够较为频繁的对数据进行修改。在需要频繁修改的数据场景下,数据库依赖啊?数据库可以依赖DBMS来对数据进行一个这个。怎么说呢,性能消耗非常低的情况下,就完成这数据一个操作。也说不需要消耗大量的资源。通过我们这个DBMS这个系统就可以不需要消耗大量的资源,就可以完成这数据的一个修改和修复。
14:01
比,起码比文件系统要小得多,为什么文件系统这个东西需要打开这个文件,而打开这个文件就意味着这个文件里边所有内容都需要加载出来。比如说这个文件里面有1000万字啊。一版文字。那你通过程序打开这1000万字,1万万字的时候,这个时候所消耗的系统资源非常大,但如果是数据库的话,数据库里边可能有不止上几十亿上百亿的数字。这个内容在里边。那我们先打开是只需要通过过滤啊。就可以过滤到我们想要的内容。最终看到就只是想要的那部分,而不是所有。所以说。使用数据库管理系统啊。对我们的这个资源的消耗也会小很多啊,资源的消耗也会小很多。那最后一个是对事物的支持上,DBMS支持事务。事物呢,是后边我们要讲的一个概念,简单举个例子啊,就是作为事物,就是我们呢,把一系列要对数据库做做的操作啊。
15:01
整合起来,整合起来,比如说有123445个步骤啊,1234个步骤,把这个步骤综合起来。叫什么操作集合。操作机构那。这个事物呢,就是对操作集合的一个负责的一个问题啊,这个操作集合里边有四个步骤,那这四个步骤要么就都完成,要么就都不完成。你不能说完成一半。一板前两个完成了,最后两个完成。前三个完成,最后一个完成啊。这是不符合事物的一个模式的。所谓的事物就是。这个集合当中所有的事件,要么就都完成,要么就都没有完成,都完成就是从一到四都执行了,都没完成就是从一到三执行了,四没执行,OK,那一到三恢复原来没执行的状态。在DMS中,我们称之为,这种操作叫对数据的原子级操作。为什么要这样呢?给大家举个很简单这样的例子,但是很经典的例子啊。你呢,去银行存钱啊,你去银行存钱,然后呢,假设现在啊,你和你银行里加起来一共有这个。
16:09
300块钱,你身上有100块钱,银行里有100块钱。现在你想把剩下的100块钱存到银行里去啊?但是这个存钱,存钱的存储之前和存储之后,按说你的总量应该是不变的,对吧,那这个时候拿着100块钱去那个自动存。钱的那个柜台上去存了,把钱塞到那个自动存钱的那个机器里了,但突然断电了。突然性了,那问你,你身上是不是减少了100块钱啊。但是银行系统里多了100块钱吗?并没有,那我问你现在总的你身上总的现金价值,你现在总的金钱价值是不是变了,是不是原来你200,现在是不是变100了,那问你这个时候你亏不亏?总金额变了,我原来吃200块钱,现在只是100块钱了,谁不亏啊,所以说。所谓的事物就是要么整个啊操作集合都完成,要么都完成。我见了。
17:00
那你这得加。然后这样。整体下来才会不变。我这减了你的不加那算什么呀,肯定是不行,这就是我们的这个对事物的一个支持啊,对事物的一个支持。OK,那这就是我们这节课讲的关于呃,数据库和文件系统的这么一个区别啊,数据库和文系统的一个区别,其实这个地方我给大家简单总结一下啊,简单总结一下。我们的这个文件系统。还有我们的这个数据库。其实啊,都是分三层的。啊,这三次分别什么呢。物理层。啊里送。最底层是物理层,然后是逻辑层。表示层。其实换过来更好一些。
18:11
那文件系统当中呢,我们的表示层。就是以什么为代表嘛,表示增分点就是文件。然后不同后缀的文件类型吗。天地啊。逻辑层逻辑层我们称之叫文件系统。文件系统类型。什么意思?就是如何把数据保存到文件内部。如何把数据播放为内?这个靠谁来这个。的这个负责呀,靠稳定性类型靠什么。考EST4啊。FS呀。
19:01
Rfs呀。那这个文件。保存通过文件系统类型保存到这个哪个地方。这个文件。或者说叫文件名啊,叫文件名,这个文件名啊。我们打开之后。通过文件系统类型将数据具体存储到什么地方呢?乘车物理这个物理层是在哪?这个物理层我们可以这么理解,就是我们的分区上的。啊,分区上的。分区。这是我们的数据框。我们又称,为什么叫date?我们通常将数据保存,数据块其实还可以有更底层的。
20:03
那更底层的哪,更底层就是我们的什么。更底层就是什么?啊。更底层就是我们的肾区啊。最终保存扇区上了。山。这个就是我们的这个。文件系统类型的这么一个表示层,逻辑层,物理层,那其实数据库呢,也有这么一个层次。表尺寸。逻辑算就是怎么来存储以及物理。我们先从物理层来说啊,先从物理层来说。数据库的物理层就是最终保存成数据库文件。那数据库文件,我们通常所见的数据库文件就是什么,就是星。
21:02
场景的数据库给你。那物理层最终就保存到这里边。那逻辑层呢,我们的数据怎么来保存到这个?信件里边的。以及数据在这个数据库里怎么保存。在数据库里一般是使用什么?使用数据库?然后呢,数据表。然后呢?四段。记录。合资的。啊,记录和。来进行一个数据的保存啊,来进行数据的一个保存。那这就是他的一个表示,就是我们能看得见摸得着的就是表示层,那在文件系统里边看得见摸得着不就是文件名吗。在数据库里边你能看到点搜吗?进入数据库系统里边,你能看到点搜吗?看不到,能看到啥?能看到数据库,能看到数据表,能看到记录,能看到字段,这就表。
22:00
那我们数据库里的数这个字,字段也也好,记录也好,表也好,库也好,最终保存哪,最后保存到点搜狗文件里边怎么保存的呀,谁保存的呀,谁来规范规范这个保存过程呀。数据库的。存储引擎。当属据库村民,这个我们后边也会介绍,关于村中引擎到底是什么东西。大家会发现我们这个数据库呢,和文件系统呢,它的层次结构其实是一样的,那现在我们把这个位置调换一下。大家有没有发现,我们的数据库的最底层的物理层,就是我们文件系统的表层?就好理解了,数据库,所谓的数据库啊。数据的存储系统是建立在文件系统层次以上的一种新的数据存储模型。啊,新的数据存储模型。他呢,弥补。
23:01
了很多关于文件系统的一些存储的一些啊。诟病和问题。提高了我们对数据的这么一个存储效率,以及管理的一个效率。这个就是我们的数据库的一个定义,以及对它的一个理解啊。那这个没有问题吧。那么本节课呢,关于数据库和文件系统的一个区别,我们就讲到这儿,那。下节课再来讲其他的内容。
我来说两句