空间照片名字(看得懂的存储)
大家好,我是IT售前工程师Bernie.
前一篇文章我们讨论了块存储的相关概念、特点及其应用场景,本文接着聊文件存储和对象存储,欢迎阅读。
在正式介绍前,我们先介绍一个词【非构化数据】,即:是不方便用数据库二维逻辑表来表现的数据。最常见的就是文本、图片、各类报表、XML、HTML、图像和音频/视频、办公文档、信息等等。
无论是文件存储还是对象存储,他们存储的内容都是非结构化的数据。
对于一份非结构化的数据来讲,采用文件存储,它就是一份文件;采用对象存储,它就是一个对象。
文件存储(File Storage)
文件存储是我们平时应用最广泛、场景最多,也是最熟悉的数据存取模式。
块存储就像是一个裸磁盘,就像一个没有开垦的荒地。那么,文件存储就是在块存储的基础上进行了格式化、增加了文件系统,这样我们就以文件夹的形式认识到了存储空间。
比如,windows系统系统下的文件存储就是我们平时见到的这样的。
与块存储相比,文件系统明显的优点在于:文件存储的内容可以共享,因为块存储基本上只能暴露给某一个单个应用(如数据库)使用,做不到共享。
另外,文件存储可以做高并发,即多台设备同时读写同一个文件,这也是块存储不好做的。
关于文件系统
在存储介质上,一份文件有很多的属性,其中特别重要的有:物理空间、名字空间(name space)、文件名、格式、大小、权限等。
物理空间对应了文件的地址空间,即文件存在哪个位置。
而名字空间对应了我们本文讲的文件系统,它遵循的是树型结构。对于文件存储来讲:每一个根目录可以理解为一个名字空间,目录下面既有子目录,也有大大小小的各种文件。
文件系统NFS协议,它主要应用于UNUIX系统上、Linux系统上使用的。另外还有CIFS协议,主要应用于Windows操作系统上。
对象存储(Object-based Storage)
相较于块存储、文件存储,对象存储就更为复杂一些了。首先,我们简单看一下对象的概念
对象是OSS(Object Storage Service) 存储数据的基本单元,也被称为 OSS 的文件。对象由元信息 (Object Meta)、用户数据(Data)和文件名(Key)组成。
对象由存储空间内部唯一的 Key 来标识。对象元信息是一组键值对,表示了对象的一些属性,比如最后修改时间、大小等信息,同时也可以在元信息中存储一些自定义的信息。
简单翻译下:非结构化的数据,采用对象存储时,每一个文件都是一份对象。这个对象里面包含了很多的元素,比如文件的ID、大小、格式、权限、名称等等。
原理与场景
Object ID是唯一标识符,我们可以根据这个ID很快地定位到文件,方便读写。就像是一大堆东西平铺在地上,每个东西有一个唯一的ID编码。查询时,只需要查询下ID-文件对应的台账即可迅速检索到。
对象存储最常用在云计算、大数据领域,我们说的云存储,基本上就是对象存储。还有,像百度网盘、阿里云盘、天翼云盘等网盘服务也是采用对象存储。还有各大视频网站(腾讯视频、爱奇艺、优酷等等),很多也是采用的对象存储。
那么,为什么云计算、大数据领域会普遍采用对象存储呢?它究竟有什么样的优势?
这些数据有一些共同点:数据量大 + 读取特别多 + 修改特别少。
对象存储整体上兼具NAS和SAN的优点,既可以像SAN存储那样的高速访问,也可以跟NAS存储一样分布式数据共享。即:对象存储具有高性能、高可靠性,以及支持数据共享,所以可以胜任大数据、云计算的要求。
对象存储设备
对象存储设备(Object-based Storage Device,简称OSD)是对象存储系统的核心,它主要负责管理本地的存储对象Object,支撑数据存储和安全访问。
实际上,每个对象存储设备都类似一台计算机,它有自己的处理器、内存、存储介质,以及网络系统等等。OSD有3个主要特点:
① 数据存储。OSD将数据放置在磁盘上,并履行管理的职责。客户端设备用Object ID、偏移进行数据读写。
② 性能优化。OSD利用CPU和内存,支持数据的预取,并优化磁盘的性能。
③ 管理元数据。OSD管理对象上的元数据(raw data),降低了Client的开销。
总结
以上是文件存储和对象存储的简要介绍,挂一漏万,实际上有很多东西可以谈。最后,3句话对比下块存储、文件存储和对象存储的特点和适用场景。
- 块存储的特点是裸空间、高性能低时延,在一个局域网或者区域网网络中访问,适用于银行、票据、数据库等方面。
- 文件存储的特点是高并发、支持文件共享,适合在各种非结构化的数据的存储。
- 对象存储的特点是大并发和海量数据,公网环境下访问,适合在大数据、云计算、网盘、音视频网站、医疗影像库等需要数据量大、读多写少、需要断点续传的场景下使用。
我是IT售前工程师Bernie,欢迎关注!下期见~