社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
存储产品按类型分主要有这三种:块存储,文件存储,对象存储
块存储是将裸磁盘直接映射给主机使用,性能好
文件存储通过在一台设备上部署NFS或FTP服务,通过以太网对外提供存储服务,无需格式化,文件管理功能由文件存储自身负责
典型设备:块存储:磁盘阵列,硬盘,虚拟硬盘;文件存储:FTP,NFS服务器,Samba;对象存储:内置大容量硬盘的分布式服务器,S3,OSS,KS3
块存储:性能好,不能共享
文件存储:支持共享,性能差
对象存储:支持共享,性能较好,低成本存储海量数据,实现难度大
我认为存储可以分为对象存储,走http协议,文件存储,在tcpip之上可以自选协议-ftp等,块存储,走scsi负责帮忙管理磁盘。
虽然老板把这三种存储的分层是 对象存储,块存储,文件存储,是根据数据模型划分的。我认为出现这种差异的原因,是因为,是使用者的角度还是开发者的角度,使用者的角度,我只需要给我提供块就行-scsi之上的东西我自己做-块存储,我需要提供块和之上的文件系统,我只需要使用现成的文件系统-文件存储,我只需要存储数据-http协议之上的东西我自己做-对象存储。
使用者认为,用户眼中,你提供的就是一个应用,你就是卖颗粒的,我只需要http协议,后面的都是黑盒,我不关心你使用的文件系统,和存储的硬盘;开发者需要做一个卖磁盘的系统。
你是卖磁盘的,用户眼中,你提供的就是一个磁盘,iscsi(tcp、ip之上的协议)后面的都是黑盒,不关心os和磁盘。
你是卖文件系统的,用户眼中,你提供的就是一个文件系统,不关心你有多少个磁盘。
开发者的角度,使用块存储-我可以通过内核之上的tcp、ip去帮你管理块,对象存储-我可以在内核加http协议之上,介入数据,帮你管理对象,文件存储-我可以通过修改内核的文件系统模块,去帮你管理之下的所有东西。也就是说,开发基于http还是os,都是应用层的,高度不同,而文件系统,则是内核层的改动。done~这段是我的认识。
后又问了组长,基本上是对象存储,之上是块存储,然后是文件存储。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!