⑴ 信息以文件形式存储,文件用什么分类分层存放
文件、块和对象是三种以不同的方式来保存、整理和呈现数据的存储格式。这些格式各有各的功能和限制。文件存储会以文件和文件夹的层次结构来整理和呈现数据;块存储会将数据拆分到任意划分且大小相同的卷中; 对象存储会管理数据并将其链接至关联的元数据。
块存储
块存储会将数据拆分成块,并单独存储各个块。每个数据块都有一个唯一标识符,所以存储系统能将较小的数据存放在最方便的位置。这意味着有些数据可以存储在 Linux 环境中,有些则可以存储在 Windows 单元中。
块存储通常会被配置为将数据与用户环境分离,并会将数据分布到可以更好地为其提供服务的多个环境中。然后,当用户请求数据时,底层存储软件会重新组装来自这些环境的数据块,并将它们呈现给用户。它通常会部署在存储区域网络 (SAN) 环境中,而且必须绑定到正常运行的服务器。
由于块存储不依赖于单条数据路径(和文件存储一样),因此可以实现快速检索。每个块都独立存在,且可进行分区,因此可以通过不同的操作系统进行访问,这使得用户可以完全自由地配置数据。它是一种高效可靠的数据存储方式,且易于使用和管理。它适用于要执行大型事务的企业和部署了大型数据库的企业。这意味着,需要存储的数据越多,就越适合使用块存储。
块存储有一些缺点。块存储的成本高昂。它处理元数据的能力有限。
操作对象:磁盘
存储协议:SCSI、iSCSI、FC
接口命令:以SCSI为例,主要有Read/Write/Read Capacity
存储架构:DAS、SAN
文件存储
文件存储也称为文件级存储或基于文件的存储,数据会以单条信息的形式存储在文件夹中。当需要访问该数据时,计算机需要知道相应的查找路径。存储在文件中的数据会根据元数据来进行整理和检索,这些元数据会告诉计算机文件所在的确切位置。
请试想一下塞满文件柜的储藏室。每个文档都会按照某种类型的逻辑层次结构来排放 ——按文件柜、抽屉、文件夹,然后再是纸张。“分层存储”这个术语就是这么来的,而这就是文件存储。它是适用于直接和网络附加存储(NAS)系统的最古老且运用最为广泛的一种数据存储系统;当访问保存在个人计算机上的文件中的文档,就是在使用文件存储。文件存储具有丰富多样的功能,几乎可以存储任何内容。它非常适合用来存储一系列复杂文件,并且有助于用户快速导航。
问题是基于文件的存储系统必须通过添置更多系统来进行横向扩展,而不是通过增添更多容量来进行纵向扩展。
操作对象:文件和文件夹
存储协议:NFS、SAMBA(SMB)、POSIX
接口命令:以NFS为例,文件相关的接口命令包括:READ/WRITE/CREATE/REMOVE/RENAME/LOOKUP/ACCESS 等;文件夹相关的接口命令包括:MKDIR/RMDIR/READDIR 等
存储架构:NAS (【Linux】NAS存储_Jacky_Feng的博客-CSDN博客)
对象存储
对象存储,也称为基于对象的存储,是一种扁平结构,其中的文件被拆分成多个部分并散布在多个硬件间。在对象存储中,数据会被分解为称为“对象”的离散单元,并保存在单个存储库中,而不是作为文件夹中的文件或服务器上的块来保存。
对象存储卷会作为模块化单元来工作:每个卷都是一个自包含式存储库,均含有数据、允许在分布式系统上找到对象的唯一标识符以及描述数据的元数据。元数据包括年龄、隐私/安全信息和访问突发事件等详细信息。为了检索数据,存储操作系统会使用元数据和标识符,这样可以更好地分配负载,并允许管理员应用策略来执行更强大的搜索。
对象存储需要一个简单的 HTTP 应用编程接口 (API),以供大多数客户端(各种语言)使用。对象存储经济高效:您只需为已用的内容付费。它可以轻松扩展,因而是公共云存储的理想之选。它是一个非常适用于静态数据的存储系统,其灵活性和扁平性意味着它可以通过扩展来存储极大量的数据。对象具有足够的信息供应用快速查找数据,并且擅长存储非结构化数据。
它的缺点是无法修改对象 ,即必须一次性完整地写入对象。对象存储也不能很好地与传统数据库搭配使用,因为编写对象是一个缓慢的过程,编写应用以使用对象存储 API 并不像使用文件存储那么简单。
操作对象:对象(Object)
存储协议:S3、Swift
接口命令:主要有PUT/GET/DELETE等
存储架构:去中心化框架
对象存储概念
对象存储的数据组成
存储桶(Bucket):存放对象的“容器”,且该“容器”无容量上限。对象以扁平化结构存放在存储桶中,无文件夹和目录的概念,用户可选择将对象存放到单个或多个存储桶中。存储桶的容量大小需要通过累加各个对象的大小得到。
每个存储桶可容纳任意数量的对象,但同一个主账号下存储桶数量最多仅能够创建200个。(???)
对于存储桶,应当以用途为粒度进行划分,确保每个存储桶的用途尽可能单一。例如,针对存放个人文件、发布静态网站、存储备份等用途都应该创建不同的存储桶。此外,不同项目的数据、不同的网站,或者完全私人的文件与工作性质、需要分享的文件,也应该划分不同的存储桶。
对象存储中也没有“文件夹”的概念。对象存储的管理平台为了模仿本地存储的使用习惯,并与本地存储系统互相兼容而模拟了目录结构,背后的原理也仅仅是根据 / 这个字符对 key 进行分隔。为了表示空目录,部分云平台也提供“文件夹”对象,实际上只是 key 以 / 结尾的空存储对象。
存储桶所在地域(Regin)
指对象存储的数据中心所在地域。对象存储允许用户在不同地域创建存储桶,可以选择在离业务最近的地域上创建存储桶,以满足低延迟、低成本以及合规性要求。
Bucket读写权限
Bucket读写权限包括:私有读写、公有读私有写和公有读写。
私有读写
只有该存储桶的创建者及有授权的账号才对该存储桶中的对象有读写权限,其他任何人对该存储桶中的对象都没有读写权限。存储桶访问权限默认为私有读写,推荐使用。
公有读私有写
任何人(包括匿名访问者)都对该存储桶中的对象有读权限,但只有存储桶创建者及有授权的账号才对该存储桶中的对象有写权限。
公有读写
任何人(包括匿名访问者)都对该存储桶中的对象有读权限和写权限,不推荐使用。
对象(Object):对象存储的基本单元,可理解为任何格式类型的数据,例如图片、文档和音视频文件等。
每个对象都由对象键(Key)、对象值(Data)、和对象元数据(Metadata)组成。
对象键(Key):对象键是对象在存储桶中的全局唯一标识(UID),可以理解为文件(名)路径。
key用于检索对象,文件对象的 key 与实际存储路径无关,服务器和用户不需要知道数据的物理地址,通过key就能找到对象。
对象值(Data):即存储对象内容数据,可以理解为文件内容(Object Content)。
对象元数据(Metadata):是一组键值对,可以通俗的理解为文件的属性,例如文件的修改时间、存储类型等。(传统的文件存储,元数据属于文件本身,和文件一起封装存储。而对象存储,元数据独立出来,并不在数据内部封装。)
对象访问地址
对象的访问地址由存储桶访问地址和对象键组成,其结构形式为<存储桶域名>/<对象键> 。
例如:上传对象exampleobject.txt到广州(华南)的存储桶examplebucket-1250000000中,那么exampleobject.txt的访问地址是:examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/exampleobject.txt。其中examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com为存储桶域名,exampleobject.txt为对象键。
目录和文件夹
对象存储中本身是没有文件夹和目录的概念的,对象存储不会因为上传对象project/a.txt而创建一个project文件夹。为了满足用户使用习惯,对象存储在控制台、COS browser 等图形化工具中模拟了“文件夹”或“目录”的展示方式,具体实现是通过创建一个键值为project/,内容为空的对象,展示方式上模拟了传统文件夹。
对象操作
用户通过控制台、工具、API、SDK等多种方式管理对象。
对象存储架构
对象存储设备(OSD)
OSD由存储介质、处理器、内存以及网络系统等组成,负责管理本地的对象,是对象存储系统的核心。和块设备相比,它们的差异在于提供的访问接口。OSD的主要功能是数据存储和安全访问。
数据存储:OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。
智能分布:OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。
对象元数据管理:OSD管理存储的对象元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。
元数据服务器(MDS)
MDS控制Client与OSD对象的交互,为客户端提供元数据,主要是文件的逻辑视图(文件与目录的组织关系、每个文件所对应的OSD等)。主要功能如下:
对象存储访问:MDS构造和管理描述每个文件分布的逻辑视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时将先验证该能力,然后才可以访问。
文件和目录访问管理:MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。
Client Cache一致性:为了提高Client性能,在对象存储系统设计时通常支持Client方的Cache。由于引入Client方的Cache,带来了Cache一致性问题,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cache,从而防止Cache不一致引发的问题。
客户端(Client)
对象存储系统提供给用户的也是标准的POSIX文件访问接口。接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。
文件系统读访问流程:
① 客户端应用发出读请求;
② 文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;
③ 直接向每个OSD发送数据读取请求;
④ OSD得到请求以后,判断要读取的Object,并根据此Object要求的认证方式,对客户端进行认证,如果此客户端得到授权,则将Object的数据返回给客户端;
⑤ 文件系统收到OSD返回的数据以后,读操作完成。
对象存储的优缺点
(1)优点:
容量大,高扩展性
对象存储的容量是EB级以上,对象存储的所有业务、存储节点采用分布式集群方式工作,各功能节点、集群都可以独立扩容。从理论上来说,某个对象存储系统或单个桶(bucket),并没有总数据容量和对象数量的限制,即服务商就可以不停地往架构里增加资源,这个存储空间就是无限的,也是支持弹性伸缩的。
高安全性,可靠性
对象存储采用了分布式架构,对数据进行多设备冗余存储(至少三个以上节点),实现异地容灾和资源隔离。数据访问方面,所有的桶和对象都有访问控制策略,所有连接都支持SSL加密,访问用户进行身份权限鉴定。
高性能,支持海量用户的并发访问
(2)缺点:
不支持直接在存储上修改
对象存储系统保存的Object不支持修改(追加写Object需要调用特定的接口,生成的Object也和正常上传的Object类型上有差别)。用户哪怕是仅仅需要修改一个字节也需要重新上传整个Object。因此,它不适合存储需要频繁擦写的数据。
参考链接:
对象存储,为什么那么火? - 知乎 (hu.com)
对象存储 存储桶概述 - 开发者指南 - 文档中心 - 腾讯云 (tencent.com)
基本概念 (aliyun.com)
文件存储、块存储还是对象存储? (redhat.com)
linux
驻马店市民请关注领取补贴!
巨魔-抽手机公告
广告
对比块存储、文件存储、对象存储
1242阅读·0评论·3点赞
2019年2月27日
ShapeFile的文件格式设计
90阅读·0评论·0点赞
2009年3月20日
应用ceph对象存储(ceph-13.2.10)
72阅读·0评论·0点赞
2022年11月26日
三种存储类型比较-文件、块、对象存储
4.8W阅读·0评论·13点赞
2016年7月26日
常见图片存储格式文件简介
4534阅读·0评论·0点赞
2020年5月4日
s3cmd常用命令
781阅读·0评论·0点赞
2022年11月17日
驻马店发布,你有一台5G手机待领取
00:23
巨摩互动
广告
常见的存储格式
1083阅读·0评论·0点赞
2022年2月15日
文件、对象、块区别
1399阅读·0评论·0点赞
2020年7月13日
对象存储、文件存储、块存储的区别和联系
7330阅读·2评论·5点赞
2021年10月16日
数据分析中常见的存储方式
1537阅读·0评论·0点赞
2021年11月16日
三种存储类型:块存储、文件存储、对象存储
1.5W阅读·3评论·55点赞
2020年11月2日
如何设计二进制文件格式
1940阅读·0评论·1点赞
2020年3月6日
BMP文件存储格式
472阅读·0评论·2点赞
2021年8月2日
hive 的存储格式
1765阅读·0评论·1点赞
2022年6月18日
数据存储格式
446阅读·0评论·0点赞
2022年12月21日
总结:对象存储、块存储、文件存储的区别
6606阅读·0评论·3点赞
2022年4月9日
c语言中文件rw,什么是“块文件”?
386阅读·0评论·0点赞
2021年5月23日
【存储】块存储、文件存储和对象存储的区别?
350阅读·0评论·0点赞
2022年7月22日
块存储、文件存储与对象存储的区别与应用场景
1846阅读·1评论·0点赞
2022年6月5日
数据在内存中的存储方式
272阅读·0评论·0点赞
2022年8月21日
去首页
看看更多热门内容
⑵ 大数据的预测功能是增值服务的核心
大数据的预测功能是增值服务的核心
从走在大数据发展前沿的互联网新兴行业,到与人类生活息息相关的医疗保健、电力、通信等传统行业,大数据浪潮无时无刻不在改变着人们的生产和生活方式。大数据时代的到来,给国内外各行各业带来诸多的变革动力和巨大价值。
最新发布的报告称,全球大数据市场规模将在未来五年内迎来高达26%的年复合增长率——从今年的148.7亿美元增长到2018年的463.4亿美元。全球各大公司、企业和研究机构对大数据商业模式进行了广泛地探索和尝试,虽然仍旧有许多模式尚不明朗,但是也逐渐形成了一些成熟的商业模式。
两种存储模式为主
互联网上的每一个网页、每一张图片、每一封邮件,通信行业每一条短消息、每一通电话,电力行业每一户用电数据等等,这些足迹都以“数据”的形式被记录下来,并以几何量级的速度增长。这就是大数据时代带给我们最直观的冲击。
正因为数据量之大,数据多为非结构化,现有的诸多存储介质和系统极大地限制着大数据的挖掘和发展。为更好地解决大数据存储问题,国内外各大企业和研究机构做了许许多多的尝试和努力,并不断摸索其商业化前景,目前形成了如下两种比较成熟的商业模式:
可扩展的存储解决方案。该存储解决方案可帮助政府、企业对存储的内容进行分类和确定优先级,高效安全地存储到适当存储介质中。而以存储区域网络(SAN)、统一存储、文件整合/网络连接存储(NAS)的传统存储解决方案,无法提供和扩展处理大数据所需要的灵活性。而以Intel、Oracle、华为、中兴等为代表的新一代存储解决方案提供商提供的适用于大、中小企业级的全系存储解决方案,通过标准化IT基础架构、自动化流程和高扩展性,来满足大数据多种应用需求。
云存储。云存储是一个以数据存储和管理为核心的云计算系统,其结构模型一般由存储层、基础管理、应用接口和访问层四层组成。通过易于使用的API,方便用户将各种数据放到云存储里面,然后像使用水电一样按用量进行收费。用户不用关心数据的存储介质、网络状况以及安全性的管理,只需按需向提供方购买空间。
源数据价值水涨船高
在红红火火的大数据时代,随着数据的累积,数据本身的价值也在不断升值,这种情况很好地反应了事物由量变到质变的规律。例如有一种罕见的疾病,得病率为十万分之一,如果从小样本数据来看非常罕见,但是扩大到全世界70亿人,那么数量就非常庞大。以前技术落后,不能将该病情数字化集中研究,所以很难攻克。但是,我们现在把各种各样的数据案例搜集起来统一分析,我们很快就能攻克很多以前想象不到的科学难题。类似的例子,不胜枚举。
正是由于可以通过大数据挖掘到很多看不见的价值,源数据本身的价值也水涨船高。一些掌握海量有效数据的公司和企业找到了一条行之有效的商业路径:对源数据直接或者经过简单封装销售。在互联网领域,以Facebook、twitter、微博为代表的社交网站拥有大量的用户和用户关系数据,这些网站正尝试以各种方式对该源数据进行商业化销售,Google、Yahoo!、网络[微博]等搜索公司拥有大量的搜索轨迹数据以及网页数据,他们可以通过简单API提供给第三方并从中盈利;在传统行业中,中国联通[微博](3.44, 0.03, 0.88%)、中国电信[微博]等运营商拥有大量的底层用户资料,可以通过简单地去隐私化,然后进行销售盈利。
各大公司或者企业通过提供海量数据服务来支撑公司发展,同时以免费的服务补偿用户,这种成熟的商业模式经受住了时间的考验。但是对于任何用户数据的买卖,还需处理好用户隐私信息,通过去隐私化方式,来保护好用户隐私。
预测是增值服务的核心
在大数据基础上进行深度挖掘,所衍生出来的增值服务,是大数据领域最具想象空间的商业模式。大数据增值服务的核心是什么?预测!大数据引发了商业分析模式转变,从过去的样本模式到现在的全数据模式,从过去的小概率到现在的大概率,从而能够得到比以前更准确的预测。目前形成了如下几种比较成熟的商业模式。
个性化的精准营销。一提起“垃圾短信”,大家都很厌烦,这是因为本来在营销方看来是有价值的、“对”的信息,发到了“错”的用户手里。通过对用户的大量的行为数据进行详细分析,深度挖掘之后,能够实现给“对”的用户发送“对”的信息。比如大型商场可以对会员的购买记录进行深度分析,发掘用户和品牌之间的关联。然后,当某个品牌的忠实用户收到该品牌打折促销的短信之后,一定不是厌烦,而是欣喜。如优捷信达、中科嘉速等拥有强大数据处理技术的公司在数据挖掘、精准广告分析等方面拥有丰富的经验。
企业经营的决策指导。针对大量的用户数据,运用成熟的数据挖掘技术,分析得到企业运营的各种趋势,从而给企业的决策提供强有力的指导。例如,汽车销售公司,可以通过对网络上用户的大量评论进行分析,得到用户最关心和最不满意的功能,然后对自己的下一代产品进行有针对性的改进,以提升消费者的满意度。
总体来说,从宏观层面来看,大数据是我们未来社会的新能源;从企业微观层面来看,大数据分析和运用能力正成为企业的核心竞争力。深入研究和积极探索大数据的商业模式,对企业的未来发展有至关重要的意义。
⑶ 手机RAM和ROM的存储类型分哪几种
RAM是运行内存,主流的有:4G、6G、8G、12G
ROM是存储容量,主流的有:64G、128G、256G
⑷ 内存的封装方式主要有
DIMM(双列直插存储模块)和SIMM相似,只是体积稍大。不同处在于SIMM的部分引脚前后连接在一起,而DIMM的每个引脚都是分开的,所以在电气性能上有较大改观,而且这样可以不用把模块做得很大就可以容纳更多的针脚,从而容易得到更大容量的RAM。
RIMM(Rambus直插式存储模块)其外形有点像DIMM,只是体积要大一点,性能更好,但价格昂贵,发热量较大。为了解决发热问题,模块上都有一个很长的散热片。
现在我们再回过头来看看内存颗粒的封装。
DIP
早期的内存颗粒也采用DIP(Dual In-line Package双列直插式封装),这种封装的外形呈长方形,针脚从长边引出,由于针脚数量少(一般为8~64针),且抗干扰能力极弱,加上体积比较“庞大”,所以DIP封装如昙花一现。
SIP
SIP(Single In-line Package单列直插封装)只从单边引出针脚,直接插入PCB板中,其封装和DIP大同小异。其吸引人之处在于只占据很少的电路板面积,然而在某些体系中,封闭式的电路板限制了SIP封装的高度和应用。加上没有足够的引脚,性能不能令人满意,很快退出了市场。
SOJ
从SOJ(Small Out-Line J-Lead小尺寸J形引脚封装)中伸出的引脚有点像DIP的引脚,但不同的是其引脚呈“J”形弯曲地排列在芯片底部四周,必须配合专门为SOJ设计的插座使用。
TSOP
在1980年代出现的TSOP封装(Thin Small Outline Package薄型小尺寸封装),由于更适合高频使用,以较强的可操作性和较高的可靠性征服了业界。TSOP的封装厚度只有SOJ的三分之一。TSOP内存封装的外形呈长方形,且封装芯片的周围都有I/O引脚。例如SDRAM内存颗粒的两侧都有引脚,而SGRAM内存颗粒的四边都有引脚,所以体积相对较大。在TSOP封装方式中,内存颗粒是通过芯片引脚焊在PCB板上的,焊点和PCB板的接触面积较小,使得芯片向PCB板传热相对困难。
Tiny-BGA
Tiny-BGA(Tiny Ball Grid Array小型球栅阵列封装)是由 Kingmax推出的封装方式。由于Tiny-BGA封装减少了芯片的面积,可以看成是超小型的BGA封装。Tiny-BGA封装比起传统的封装技术有三大进步:更大的容量(在电路板上可以安放更多的内存颗粒);更好的电气性能(因为芯片与底板连接的路径更短,减小了电磁干扰的噪音,能适合更高的工作频率);更好的散热性能(内存颗粒是通过一个个锡球焊接在PCB板上,由于焊点和PCB板的接触面积较大,所以内存颗粒在运行中所产生的热量可以很容易地传导到PCB板上并散发出去)。
mBGA
mBGA(Micro Ball Grid Array微型球栅阵列封装)可以说是BGA的改进版,封装呈正方形,内存颗粒的实际占用面积比较小。由于采用这种封装方式内存颗粒的针脚都在芯片下部,连接短、电气性能好、也不易受干扰。这种封装技术会带来更好的散热及超频性能,尤其适合工作于高频状态下的Direct RDRAM,但制造成本极高,目前主要用于Direct RDRAM。
CSP
CSP(Chip Scale Package芯片级封装)是一种新的封装方式。在BGA、TSOP的基础上,CSP封装的性能又有了革命性的提升。CSP封装可以让芯片面积与封装面积之比超过1∶1.14,接近1∶1的理想情况,绝对尺寸也仅有32平方毫米,约为普通的BGA的1/3,相当于TSOP内存颗粒面积的1/6。这样在相同体积下,内存条可以装入更多的内存颗粒,从而增大单条容量。也就是说,与BGA封装相比,同等空间下CSP封装可以将存储容量提高3倍。而且,CSP封装的内存颗粒不仅可以通过PCB板散热还可以从背面散热,且散热效率良好。同时由于JEDEC(Joint Electron Device Engineering Council,电子设备工程联合委员会)制定的DDRⅡ技术规范,加上TSOP-Ⅱ封装会在DDRⅡ成为市场主流时彻底退出市场,所以CSP的改良型WLCSP将会担当起新的封装大任。同时WLCSP有着比CSP更为贴近芯片尺寸的封装方法,在晶圆上就做好了封装布线,因此在可靠性方面达到了更高的水平。
⑸ 数据存储形式有哪几种
【块存储】
典型设备:磁盘阵列,硬盘
块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。(假设划分完的逻辑盘也是5个,每个也是1G,但是这5个1G的逻辑盘已经于原来的5个物理硬盘意义完全不同了。例如第一个逻辑硬盘A里面,可能第一个200M是来自物理硬盘1,第二个200M是来自物理硬盘2,所以逻辑硬盘A是由多个物理硬盘逻辑虚构出来的硬盘。)
接着块存储会采用映射的方式将这几个逻辑盘映射给主机,主机上面的操作系统会识别到有5块硬盘,但是操作系统是区分不出到底是逻辑还是物理的,它一概就认为只是5块裸的物理硬盘而已,跟直接拿一块物理硬盘挂载到操作系统没有区别的,至少操作系统感知上没有区别。
此种方式下,操作系统还需要对挂载的裸硬盘进行分区、格式化后,才能使用,与平常主机内置硬盘的方式完全无异。
优点:
1、 这种方式的好处当然是因为通过了Raid与LVM等手段,对数据提供了保护。
2、 另外也可以将多块廉价的硬盘组合起来,成为一个大容量的逻辑盘对外提供服务,提高了容量。
3、 写入数据的时候,由于是多块磁盘组合出来的逻辑盘,所以几块磁盘可以并行写入的,提升了读写效率。
4、 很多时候块存储采用SAN架构组网,传输速率以及封装协议的原因,使得传输速度与读写速率得到提升。
缺点:
1、采用SAN架构组网时,需要额外为主机购买光纤通道卡,还要买光纤交换机,造价成本高。
2、主机之间的数据无法共享,在服务器不做集群的情况下,块存储裸盘映射给主机,再格式化使用后,对于主机来说相当于本地盘,那么主机A的本地盘根本不能给主机B去使用,无法共享数据。
3、不利于不同操作系统主机间的数据共享:另外一个原因是因为操作系统使用不同的文件系统,格式化完之后,不同文件系统间的数据是共享不了的。例如一台装了WIN7/XP,文件系统是FAT32/NTFS,而Linux是EXT4,EXT4是无法识别NTFS的文件系统的。就像一只NTFS格式的U盘,插进Linux的笔记本,根本无法识别出来。所以不利于文件共享。
【文件存储】
典型设备:FTP、NFS服务器
为了克服上述文件无法共享的问题,所以有了文件存储。
文件存储也有软硬一体化的设备,但是其实普通拿一台服务器/笔记本,只要装上合适的操作系统与软件,就可以架设FTP与NFS服务了,架上该类服务之后的服务器,就是文件存储的一种了。
主机A可以直接对文件存储进行文件的上传下载,与块存储不同,主机A是不需要再对文件存储进行格式化的,因为文件管理功能已经由文件存储自己搞定了。
优点:
1、造价交低:随便一台机器就可以了,另外普通以太网就可以,根本不需要专用的SAN网络,所以造价低。
2、方便文件共享:例如主机A(WIN7,NTFS文件系统),主机B(Linux,EXT4文件系统),想互拷一部电影,本来不行。加了个主机C(NFS服务器),然后可以先A拷到C,再C拷到B就OK了。(例子比较肤浅,请见谅……)
缺点:
读写速率低,传输速率慢:以太网,上传下载速度较慢,另外所有读写都要1台服务器里面的硬盘来承担,相比起磁盘阵列动不动就几十上百块硬盘同时读写,速率慢了许多。
【对象存储】
典型设备:内置大容量硬盘的分布式服务器
对象存储最常用的方案,就是多台服务器内置大容量硬盘,再装上对象存储软件,然后再额外搞几台服务作为管理节点,安装上对象存储管理软件。管理节点可以管理其他服务器对外提供读写访问功能。
之所以出现了对象存储这种东西,是为了克服块存储与文件存储各自的缺点,发扬它俩各自的优点。简单来说块存储读写快,不利于共享,文件存储读写慢,利于共享。能否弄一个读写快,利 于共享的出来呢。于是就有了对象存储。
首先,一个文件包含了了属性(术语叫metadata,元数据,例如该文件的大小、修改时间、存储路径等)以及内容(以下简称数据)。
以往像FAT32这种文件系统,是直接将一份文件的数据与metadata一起存储的,存储过程先将文件按照文件系统的最小块大小来打散(如4M的文件,假设文件系统要求一个块4K,那么就将文件打散成为1000个小块),再写进硬盘里面,过程中没有区分数据/metadata的。而每个块最后会告知你下一个要读取的块的地址,然后一直这样顺序地按图索骥,最后完成整份文件的所有块的读取。
这种情况下读写速率很慢,因为就算你有100个机械手臂在读写,但是由于你只有读取到第一个块,才能知道下一个块在哪里,其实相当于只能有1个机械手臂在实际工作。
而对象存储则将元数据独立了出来,控制节点叫元数据服务器(服务器+对象存储管理软件),里面主要负责存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B、C、D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。
这时候由于是3台OSD同时对外传输数据,所以传输的速度就加快了。当OSD服务器数量越多,这种读写速度的提升就越大,通过此种方式,实现了读写快的目的。
另一方面,对象存储软件是有专门的文件系统的,所以OSD对外又相当于文件服务器,那么就不存在文件共享方面的困难了,也解决了文件共享方面的问题。
所以对象存储的出现,很好地结合了块存储与文件存储的优点。
最后为什么对象存储兼具块存储与文件存储的好处,还要使用块存储或文件存储呢?
1、有一类应用是需要存储直接裸盘映射的,例如数据库。因为数据库需要存储裸盘映射给自己后,再根据自己的数据库文件系统来对裸盘进行格式化的,所以是不能够采用其他已经被格式化为某种文件系统的存储的。此类应用更适合使用块存储。
2、对象存储的成本比起普通的文件存储还是较高,需要购买专门的对象存储软件以及大容量硬盘。如果对数据量要求不是海量,只是为了做文件共享的时候,直接用文件存储的形式好了,性价比高。