//雪花飘落特效 //右上角github跳转   

关于存储知识的介绍(0)

存储分为三种:块存储、文件系统存储、对象存储。

++++++++++++++++++++++++++

块是定长的,每个块有一个独立标识。
对象是变长的,有独立标识和简单的元数据。无层次结构。
文件系统中有文件和目录层次,文件有文件名和丰富的元数据。文件系统可以基于前两者实现。

API的不同,体现出的是解决的需求和面向的场景的差别;在系统设计和实现上,也决定了不同的取舍。
++++++++++++++++++++++++++


块存储
就好比硬盘一样, 直接挂在到主机, 一般用于主机的直接存储空间和数据库应用(如: mysql)的存储
分2中形式:
  • DAS: 一台服务器一个存储, 多机无法直接共享, 需要借助操作系统的功能, 如共享文件夹
  • SAN: 金融电信级别, 高成本的存储方式, 涉及到光纤和各类高端设备, 可靠性和性能都很高, 除了贵和运维成本高, 基本都是好处

* 云存储的块存储: 具备SAN的优势, 而且成本低, 不用自己运维, 且提供弹性扩容, 随意搭配不同等级的存储等功能, 存储介质可选普通硬盘和SSD

文件存储
与较底层的块存储不同, 上升到了应用层, 一般指的就是 NAS ,一套网络储存设备, 通过TCP/IP进行访问, 协议为NFSv3/v4由于通过网络, 且采用上层协议, 因此开销大, 延时肯定比块存储高
一般用于多个云服务器共享数据, 如服务器日志集中管理, 办公文件共享

对象存储
具备块存储的高速以及文件存储的共享等特性, 较为智能, 有自己的CPU, 内存, 网络和磁盘, 比块存储和文件存储更上层, 云服务商一般提供用户文件上传下载读取的Rest API, 方便应用集成此类服务

总结
块存储: 是和主机打交道的, 如插一块硬盘
文件存储: NAS, 网络存储, 用于多主机共享数据
对象存储: 跟你自己开发的应用程序打交道, 如网盘
他们的层级是越来越高的
 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

块存储

块存储一般体现形式是卷或者硬盘(比如windows里面看到的c盘),数据是按字节来访问的,对于块存储而言,对里面存的数据内容和格式是完全一无所知的。好比上面图中,数据就像玉米粒一样堆放在块存储里,块存储只关心玉米粒进来和出去,不关心玉米粒之间的关系和用途。

块存储只负责数据读取和写入,因此性能很高,适用于对响应时间要求高的系统。比如数据库等。

文件存储

文件存储一般体现形式是目录和文件(比如C:\Users\Downloads\text.doc),数据以文件的方式存储和访问,按照目录结构进行组织。文件存储可以对数据进行一定的高级管理,比如在文件层面进行访问权限控制等。好比上面图中,数据像玉米粒一样组成玉米棒子,再对应到不同的玉米杆上,要找到某个玉米粒,先找到玉米杆,再找到玉米棒子,然后根据玉米粒在玉米棒子上的位置找到它。

文件存储可以很方便的共享,因此用途非常广泛。比如常用的NFS、CIFS、ftp等都是基于文件存储的。

对象存储

对象存储一般体现形式是一个UUID(比如),数据和元数据打包在一起作为一个整体对象存在一个超大池子里。对于对象访问,只需要报出它的UUID,就能立即找到它,但访问的时候对象是作为一个整体访问的。好比上面图中,数据的玉米粒被做成了玉米罐头,每个玉米罐头都有一个唯一出厂号,但是买卖罐头,都一次是一盒为单位。

从设计之初衷(一般的对象存储都是基于哈希环之类的技术来实现),对象存储就可以非常简单的扩展到超大规模,因此非常适合数据量大、增速又很快的视频、图像等。

posted @ 2020-08-28 09:21  农夫运维  阅读(88)  评论(0)    收藏  举报