数据库的基本组成部分和技术构成
数据库的基本组成部分:
1>存储数据的实体
2>管理数据的方式和方法
我们学习数据库大多是学的管理数据的方式和方法,不同的数据库产品,它们管理数据的方式方法各有不同。
数据库的技术构成:
如何通过技术实现上面所说的两个组成部分,
1>数据的存储技术
要存储数据,肯定要设计数据存储的相关技术,可以分为两大类:
1)裸数据
数据库自己提供的文件管理系统。我们知道在操作系统中存放各类数据,存放文件或二进制文件等等,都是具体成一个个的文件,文件要存储在相应的存储中,例如硬盘,一定要有相应的文件系统,例如windows中的NTFS文件系统,以及linux中的ext3、ext4文件系统,FAT 、FAT32这些文件系统。裸数据对于数据库而言,他自己有一套自己的文件管理系统。
工作于存储级,使用块I/O操作或者scsi协议。本来文件系统是归操作系统管的,现在数据库自己接管这件事,好处是跳过原先由操作系统管理的文件系统这一层,直接与底层数据沟通,所发生的操作都是块级的操作,效率高,并且软件系统开销低。
但是裸数据虽然在性能方面较好,但也存在一定的缺陷,所以引入了文件系统类别。
2)文件系统
文件系统与裸数据刚好相反,他自己并不直接去操作数据块,而是将数据以文件的形式存放在系统中,借用操作系统的文件管理系统区队数据进行读取,这种做法的可用性和恢复性更高。假设数据以裸数据的方式进行存储,但是存储的设备在物理上发生了一定的损坏,比如硬盘的盘片的某一个区域坏掉了,发生了物理损坏,读不出来了,就形成了磁盘坏道,对于裸数据而言,由于它是管理整个的存储区域,你这一个数据坏掉了,很可能牵扯很大的范围的数据的读取,很可能导致数据都读不出来了。
而如果使用文件系统,可能只会设计到某几个数据文件发生了错误。
再者,如果我们要备份数据,对于裸数据而言,我们可能是将整个存储设备的数据直接导出,一次导可以导出很多的数据。而能用文件系统,我们可以非常灵活地操作存储数据的数据文件,将非常庞大的数据分成数百个数据文件,挑选其中的一两个来备份,在操作上要方便很多。
文件系统存储也适用于更大型的数据存储,例如分布式存储。分布式存储就是当我们访问量非常巨大时,将数据存储在同一个存储设备时,可能导致存储设备不能承受那么大的访问压力。那我们采取的方法是将数据分散地存储的在不同的存储设备上,然后在不同的存储设备上统一地维护一个文件系统结构。
2>