数据的存储方式:对象存储、文件存储、块存储
存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构
1. 对象存储(Object Storage)
主要操作对象是对象。其结合了文件存储和块存储的优点,读写不满的同时,也利于共享。
对象存储将元数据独立了出来,控制节点叫元数据服务器(服务器+对象存储管理软件),里面主要负责存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B、C、D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。
这时候由于是3台OSD同时对外传输数据,所以传输的速度就加快了。当OSD服务器数量越多,这种读写速度的提升就越大,通过此种方式,实现了读写快的目的。
最早出现在亚马逊2006年推出的S3(Simple Storage Service),简单存储服务
2. 文件存储
主要操作对象是文件和文件夹。其读写慢,但利于共享。
比如FAT32,电脑硬盘存储
FAT32这种文件系统,是直接将一份文件的数据与metadata一起存储的,存储过程先将文件按照文件系统的最小块大小来打散(如4M的文件,假设文件系统要求一个块4K,那么就将文件打散成为1000个小块),再写进硬盘里面,过程中没有区分数据/metadata的。而每个块最后会告知你下一个要读取的块的地址,然后一直这样顺序地按图索骥,最后完成整份文件的所有块的读取。
这种情况下读写速率很慢,因为就算你有100个机械手臂在读写,但是由于你只有读取到第一个块,才能知道下一个块在哪里,其实相当于只能有1个机械手臂在实际工作。
3. 块存储
主要操作对象是磁盘。其读写快,但不利于共享。
数据直接隐射磁盘上,比如数据库