nas、oss、minio经常会被用到,有一次被问道,他们的区别是什么? 瞬间蒙了,这可没想过他们的区别是什么。不能一头雾水,做个笔记吧。
要回答这个问题,可以从存储的几个维度来区分。
设计理念和数据组织
访问方式
性能特性
适用场景
区别
— | nas | oss | minio |
---|---|---|---|
设计理念和数据组织 | 提供树形目录结构,支持POSIX文件接口,允许客户端像访问本地文件系统一样访问远程存储空间 | 不支持传统目录层级结构,通过唯一的对象键进行索引和访问 | 类似oss |
访问方式 | 传统文件系统 | 基于http/https协议,使用restful api访问 | 类似oss |
性能特性 | 高频次大量小文件的随机读写 | 低频次大文件的上传下载等 | 类似oss |
适用场景 | 共享文件、磁盘挂载等 | web应用和大数据分析等 | 类似oss |
如上就比较清楚了。
nas适用于磁盘挂载。
oss适用于大文件上传下载。
minio类似oss,但是开源,适用于本地搭建等。
nas(Network Attached Storage网络附属存储)(文件存储)
文件存储NAS:
模仿传统网络文件系统(如NFS或SMB),提供树形目录结构,支持POSIX文件接口,允许客户端像访问本地文件系统一样访问远程存储空间。适用于需要文件系统语义的企业级应用环境,如多用户共享文件、企业内部协作、高性能计算任务等。
文件存储NAS:设计上更侧重于提供较高的IOPS(每秒输入输出次数)和吞吐量,尤其在支持大量小文件操作和实时读写的场景下表现更好。
oss(Object Storage Service对象存储服务)
对象存储OSS:
基于扁平化数据组织模型,每个存储单元是一个包含数据及其元数据的对象。所有对象都存在于一个全局命名空间中,不支持传统目录层级结构,通过唯一的对象键进行索引和访问。适用于大规模、非结构化数据的存储,如图片、视频、日志文件等,特别适合Web应用和大数据分析场景。
对象存储OSS:在海量数据处理和传输方面表现出色,支持大流量上传下载操作,但通常不支持低延迟的随机读写操作。
minio(minIO小io)
不知道对应的英文是什么,感觉minIO就比较好理解了。
minio和oss主要功能大致相同,但是oss一般是服务商提供的(如阿里云),是收费的。
minio是开源的,可以选择自主搭建,当然服务器、网络等也是需要一定成本。