什么是对象存储?3000 字给你整明明白白!
你好,这里是网络技术联盟站。
在当今的数字世界中,已经引入了越来越多的存储解决方案,每个存储解决方案都有自己的特点,适合不同的场景,一般来说有三种存储解决方案:
而我们今天要讲的就是对象存储,让我们直接开始。
什么是对象存储?
什么是对象?
在传统的文件存储系统中,数据存储在文件夹和目录中,在对象存储系统中,文件中的数据被分成称为对象的片段,每个对象都具有三个组件:
来自源文件的数据。
丰富的元数据。
访问对象 API 的唯一标识号。
什么是对象存储?
对象存储,也称为基于对象的存储,是一种将数据作为对象进行管理的架构。
现在的网站需要的不仅仅是将简单的文本信息存储在关系或非关系数据库中的表格或文档中。数据类型越来越多,包括电子邮件、图像、视频、网页、音频文件、数据集、传感器数据和其他类型的媒体内容,这些都属于非结构化数据,而且有专业机构研究表明,大多数企业中大约 80% 的数据都是非结构化的。
那么什么是结构化数据?什么又是非结构化数据呢?
结构化数据
结构化数据是在放入数据存储之前已经预定义并格式化为集合结构的数据,结构化数据的最佳示例是关系数据库:数据已被格式化为精确定义的字段,例如姓名、电话号码、身份证号码等,以便使用 SQL 轻松查询。
非结构化数据
非结构化数据是以本机格式存储的数据,在使用之前不进行处理,例如电子邮件、社交媒体帖子、演示文稿、图片、视频等。
结构化数据与非结构化数据区别
1、格式
结构化数据:只有几种格式.
非结构化数据:格式非常多,只有想不到,没有做不到。
2、数据模型
结构化数据:预定义。
非结构化数据:未预定义。
3、搜索
结构化数据:易于搜索。
非结构化数据:难以搜索。
4、架构
结构化数据:写时模式。
非结构化数据:读时模式。
5、可扩展性
结构化数据:很难扩展数据库模式。
非结构化数据:更具可扩展性。
对象存储的工作原理
对象存储的三大组件
这个上面也提到过,一般来说包含三大组件:
Id:唯一标识符
元数据:关于数据的描述,例如:时间戳、大小等
数据:实际数据
对象存储的工作流程
我们不用晦涩的专业术语去解释对象存储的工作流程,举个生活中的例子。
想象一下我们上大学的时候,经常去的地方就是图书馆,为了大家能够快速的借到书,图书在入库的时候做了哪些事情?
分类
入库
信息公示
1、分类
比如来了一本名为《计算机网络 自顶向下方法》的书籍,管理员首先会将其分类为计算机网络类。
2、入库
在图书馆中,每一层可能放着不同类型的书柜,比如图书馆三楼都是放的计算机类的,计算机类中有一个子类叫做“计算机网络”类,管理员会将其放入对应书架上。
3、信息公式
书籍入库后会在图书馆的系统中形成一个图书的编号和图书的一些基本信息,比如图书的照片、简介、作者等,方便借阅者查阅。
那么这个在对象存储中属于数据写入过程:
id:书籍的编号
元数据:书籍的基本信息
数据:书籍本身
那么读者去借书的时候,就相当于客户端访问对象存储数据库的过程:
首先,学生会在图书馆系统中查询《计算机网络 自顶向下方法》的信息,系统会向其反馈信息:
最后学生就根据其书籍编号找到了这本书,成功借出。
这个对比于对象存储,就相当于:
图书馆:对象存储
书架:桶
图书编号:对象 ID
对象存储的术语
OSS
英文全称:Object Storage Service
中文意思:对象存储服务
简称为 OSS
对象
英文:Object
OSS 存储的单元,即 OSS 中存储的都是对象。
桶
英文:Bucket
用来存放对象的空间,也是对对象进行管理的空间。
地域
英文:Region
OSS 分布于世界各地,每个 OSS 都有地域区分其数据中心的位置。
端点
英文:Endpoint
也就是 OSS 的访问域名,对象存储云化后,每个 OSS 服务都会形成一个 URL,方便用户访问。
对象存储的优点
IDC 估计,到 2025 年,非结构化数据将占全球所有数据的 80%。
由此可见对象存储的优点非常明显。
1、无限的可扩展性
对象存储最明显的优势是它能够无限扩展,企业可以根据需要添加节点并横向扩展,由于元数据与对象保持一致,因此系统是“扁平的”,与传统存储方法相比,它几乎可以无限扩展。
2、数据持久性
对象存储解决方案提供强大的数据保护功能,来确保数据持久性并消除单点故障。
将数据复制到一个或多个节点可确保数据副本在系统内或外部同步或异步复制到 DR(灾难恢复)站点。如果出现问题,对象存储系统将根据定义的策略自动创建额外的副本以保持数据冗余。如果站点发生故障,也会从 DR 站点恢复数据副本。
纠删码将数据与奇偶校验信息相结合,然后将其分段并分布在对象存储集群中。在数据丢失的情况下,数据会立即从纠删码段中重建并恢复到其原始状态。
3、敏捷性
传统的文件系统和数据库通常不灵活,需要严格的专业维护。对象存储系统可以根据元数据指令进行自我管理,并允许开发人员在不依赖基础架构团队的情况下更改应用程序。这种敏捷性使采用对象存储解决方案的组织能够高效地进行信息周期管理。
4、可编程性
API 和 HTTP 调用可以使用元数据信息、物联网数据、应用程序备份、企业应用程序和企业存储系统从对象存储中获取数据。
与 S3 兼容的对象存储服务最适合可编程性,S3 协议会提供大量的接口供开发人员调用。
对象存储的使用场景
视频、多媒体、图像、音频和其他此类静态文件的数据存储。
备份文件、数据库转储和日志文件的存储。
区块链对象存储
AI 训练或者数据分析作为数据湖。
物联网数据存储库。
企业文件服务
等等,使用场景非常之多!
对象存储服务 OSS 产品
OSS,即对象存储服务非常之多,首先要介绍的肯定是 OSS 鼻祖——AWS
1、亚马逊 AWS S3
S3 是最早的对象存储公司之一,Amazon AWS S3 是一种对象存储服务,具有行业领先的可扩展性、数据可用性、安全性和性能,各种规模和行业的客户都可以存储和保护几乎任何数量的数据,用于包括数据湖、云原生应用程序和移动应用程序在内的用例。
官网地址
文档地址
2、阿里云 OSS
阿里云 OSS 是国内规模最大、应用最早的对象存储产品之一,可以为各种用例提供云对象存储,其功能的广泛性和多样性深受企业喜爱。
官网地址
文档地址
3、腾讯云 COS
腾讯云在国内云计算市场占有率也非常高,其 OSS 产品叫做 COS,英文全称Cloud Object Storage
,意思很明显了,即云对象存储,COS 稳定性非常高,没有容量上限,也没有类型限制。
官网地址
文档地址
4、华为云 OBS
华为云也是国内知名的云计算厂商,其 OSS 产品为 OBS,即 Object Storage Service,其也是支持多种类型的数据存储,也提供多样化的 sdk。
官网地址
文档地址
5、MinIO
minio 是使用最为广泛的开源 OSS 产品之一,更多企业选择 minio 的原因是其支持私有化部署,minio 也是利用了 Amazon S3 API,自称是世界上最快的对象存储,高达 183 GB 的读/写速度,并且它与 Kubernetes 兼容,minio 在 github 中有 4.1kfork,34.6k stars:
github 地址
官网地址
文档地址
6、其他 OSS
还有其他 OSS 产品,这里就不做详细说明了,简单列举一下吧:
百度云 BOS
又拍云 USS
七牛云 Kodo
金山云 KS3
Ucloud US3
LakeFS
谷歌 Cloud Storage
微软 Onedrive
苹果 iCloud
谷歌 Drive
IBM Cloud Storage
总结
对象存储是目前非结构化数据存储最常使用的存储模式,其高度可扩展使得越来越多的企业选择对象存储作为其存储模式,本文从对象存储的基本原理到对象存储的优点罗列、使用场景说明、再到最后国内外优秀对象存储服务产品的介绍,希望本文对您有帮助!
最后感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞👍、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!
版权声明: 本文为 InfoQ 作者【wljslmz】的原创文章。
原文链接:【http://xie.infoq.cn/article/216a1098803da19f07bb7090b】。未经作者许可,禁止转载。
评论