存储服务器和数据库软件的问题
发布网友
发布时间:2022-04-25 15:36
我来回答
共1个回答
热心网友
时间:2022-05-07 14:06
这两个都是很大的概念,不是一下两下就能说完的,想说清楚的话都能写成好几本书了。
存储服务器和数据库是一个底层一个上层的关系,他们之间还需要类似于操作系统的协作软件支持。存储服务器是用来存放数据的底层软硬件组合,包括存储介质(例如软盘,磁片,硬盘,固体硬盘等等等等能存储数据的设备)以及驱动这些设备的软件,当然也可以包括管理这些设备的管理软件。数据库相当于是一个上层软件组合,用来组织数据的结构,提供面向数据的管理功能,以及面向用户的服务功能。数据库不关心或者可以说根本就不知道存储数据的是个什么东西,这是由操作系统负责管理的。
举个例子吧,你在一个关系型数据库里建立了几个表,数据库负责提供给你接口,让你能建立这些表,并能操作这些表,它还负责根据你的设置决定哪些数据需要建立索引,是否需要事务的AICD这四个属性的支持,以及在底层介质上的存储形式(编码,压缩,加密等等等等)。然后数据库通过操作系统找到存储介质,然后将处理过的数据传过去保存起来。如果存储介质是建立在你说的存储服务器上的话,一般还会有权限管理功能,它首先要看数据库是否有在它身上读写数据的权限,然后根据数据库传来的指令进行相应的数据物理操作。当然数据服务器也可以有压缩、加密、冗余等等等等安全措施。
对于你的第二个问题,在mysql里可以通过设置安装目录下的my.ini里的datadir项,来改变数据的存储位置。
对于第三个问题,我不知道你问的是什么?如果你问数据是怎么写到磁盘上的,那么由于这个问题太物理了,涉及到不同的存储介质的工作原理,我作为一个软工实在是没怎么研究过,就让搞硬件的搞微型机械的搞材料科学的去研究吧。