快速了解对象存储
常见的存储类型
1、SAN存储->块存储
直接面对底层磁盘的一种存储方式,是以扇区为基础,直接访问存储数据的硬件介质的
典型设备:磁盘阵列,硬盘,虚拟硬盘
优点:高性能、低时延 原因:直接面对底层
缺点:san系统的价格高,可扩展性比较差
2、NAS存储->文件存储
文件存储带有文件系统,主要是以文件的形式存放数据,以文件为传输协议,能将所有的目录、文件形成一个有层次的树形结构来管理,通过“树”不断伸展的枝丫就能找到你需要的文件,通过TCP/IP实现网络化存储
典型设备:FTP、NFS服务器
优点:可扩展行好、价格便宜、用户易管理
缺点:带宽低、延迟大,不利于在高性能集群中使用
3、对象存储
简单来说块存储读写快,不利于共享
文件存储读写慢,利于共享
能否弄一个读写快,利于共享的出来呢?于是就有了对象存储,对象存储综合了NAS和SAN的优点
3.1 特点
- 非结构存化储
适用于存储非结构化的数据,如日常所见的文档、文本、图片、XML, HTML、各类报表、音视频信息等都是非结构化数据
- 多节点
腾讯云对象存储OSS为例,OSS的存储机房遍布全球,简言之,系统会为使用者选择就近的机房进行存储,加快数据的传输访问
- 扁平化结构–>桶
对象存储中无文件夹的概念,所有的数据都存储在同一个层级,如上所述,对于存在对象存储中的数据,无需知道其存何处,仅需通过“凭证”即可快速获取数据
- 弹性扩容
对象存储的容量是EB级以上的;1EB ≈ 1*10^9 GB。容量还在上升,简单来说,不管你有多少数据,尽可放心存
1、1GB=1024MB
2、1TB=1024GB
3、1PB=1024TB
4、1EB=1024PB
3.2 基本概念⭐️⭐️⭐️⭐️⭐️
桶Bucket+文件Key
- 桶:是一个逻辑的概念,文件就存放在该个桶中。可以理解为一个父文件夹,文件就存放在该个父文件夹下
- 文件Key:可以理解文件名,是该对象的全局唯一标识符(UID),服务器和用户不需要知道数据的物理地址,也能通过它可以从桶中获取文件、删除文件等操作
- data:文件的数据本体
- Metadata
- 元数据:有点类似数据的标签,标签的条目类型和数量是没有限制的,可以是对象的各种描述信息
- 如果对象是一张人物照片,那么元数据可以是姓名、性别、国籍、年龄、拍摄地点、拍摄时间等
- 在传统的文件存储里,这类信息属于文件本身,和文件一起封装存储。而对象存储中,元数据是独立出来的,并不在数据内部封装
- 元数据的好处非常明显,可以大大加快对象的排序,还有分类和查找
3.3 传统的文件存储 VS 对象存储
我们可以把非结构化数据的读写过程看作是在停车场停车和找车的过程
文件存储相当于自助停车
对象存储相当于代客泊车
- 传统文件存储
文件存储就像自助停车一样,需要自己找到停车(文件)的位置(目录),记录下找到车的路线(路径),在取车时通过记录好的路线找到自己的车
- 对象存储
工作人员(对象存储)按照一定的规律替你把车(对象)停在停车场(桶)的某个位置,并且给你一张凭证(对象ID),取车时只需要凭停车凭证就可以由工作人员替你取出你的车,而你本人不需要知道车具体停哪里
3.4 应用场景
对象存储适用于存储文档、图片、视频等非结构化数据,并且它让数据使用也更加方便
- 传统方式
- 教学视频存在各位讲师的电脑中,讲课前,都需要用U盘复制到课堂进行播放
- 教学视频存在某个网盘中,讲课前先需下载,或课堂电脑装有网盘的应用,支持在线预览播放
- 对象存储
- 视频存在对象存储中,得到对应的对象地址(简单理解为一条链接),在课堂上,打开浏览器,输入对象地址,在线播放
3.5 常见的对象存储
- 阿里云OSS
- 腾讯云COS
- 华为云OBS
- 七牛云
- SM.MS
- GitHub