可能有人解释对象存储和文件存储之间有什么区别是吗?
我读到了对象存储的wiki ,我也读http://www.dell.com/downloads/global/products/pvaul/en/object-storage-overview.pdf ,也是我读文档的亚马逊(S3),OpenStack的迅速等,但可能有人给我一个例子,以更好地理解?
所有所不同的只是,对于“对象存储”的对象,我们添加更多的元数据?
例如如何使用某种编程语言(例如Python)的存储状物体图像?
谢谢。
可能有人解释对象存储和文件存储之间有什么区别是吗?
我读到了对象存储的wiki ,我也读http://www.dell.com/downloads/global/products/pvaul/en/object-storage-overview.pdf ,也是我读文档的亚马逊(S3),OpenStack的迅速等,但可能有人给我一个例子,以更好地理解?
所有所不同的只是,对于“对象存储”的对象,我们添加更多的元数据?
例如如何使用某种编程语言(例如Python)的存储状物体图像?
谢谢。
IMO,对象存储无关,同规模,这样做,因为有人可能会建立一个FS能够存储的文件数量巨大,即使是在一个单独的目录中。
它也不是关于访问方法。 数据HTTP访问文件系统中的许多知名的NAS系统已问世。
通过OID存储/ Access是没有理会其命名为处理数据的方式。 它可以对文件做了。 我相信这是一个NFS协议的扩展,允许这样做。
我会鼓起这样的:对象存储是一个(新的/不同的)“”对象为中心'的数据,它的访问和管理的思维方式。
想想以下几点:
今天什么是快照? 他们是卷的时间点拷贝。 当拍摄快照,卷中的所有文件都抢购了。 是否所有的人都喜欢还是不喜欢,是否所有的人都需要与否。 一个很大的空间可以习惯(浪费?)为完整的卷快照,而只需要几个文件被扯断。
在对象存储系统中,你很少会看到卷的快照,对象将是快照版,也许是自动。 这是对象的版本。 所有对象不需要进行版本控制,每个单独的对象可以告诉如果版本。
如何文件/卷保护,灾难? 典型地,在灾难恢复(DR)的设置,整个卷/体积集设置为复制到DR站点。 再次,这不打扰单个文件是否要被复制或没有。 灾难保护的单位是体积。 文件是小混混。
在对象存储系统中,DR不卷中心的。 对象元数据可以决定许多副本应该如何存在,并在那里(GEO位置/故障域)。
同样,对于其他功能:
分层 - 对象放置在基于其元数据独立于其它不相关的对象的存储层/类。
寿命 - 对象层之间移动,改变拷贝数等,单独地,而不是作为一个组。
认证 - 个别对象可以从不同的身份验证域如果需要得到验证。
正如你所看到的,在思想的变化是在对象存储库,一切都是一个对象。
有思考和管理的传统方式对比这和访问更大容器,如卷(包含文件)是不会反对的存储。
上述特征及其对象为中心的烦躁与非结构化数据,因此感兴趣的要求合身。
如果存储系统是对象(或文件)为中心的,而不是体积为中心在其思考,(不论访问协议或规模,)它是一个对象的存储系统。
有文件存储和对象存储之间的一些非常根本性的分歧。
文件存储提出了自己作为一个文件系统的层次结构与目录,子目录和文件。 这是伟大的,精美的作品时,文件的数量不是很大。 这也是行之有效的,当你确切地知道你的文件的存储。
对象存储,而另一方面,通常通过介绍自己。 一个RESTful API。 没有一个文件系统的概念。 相反,一个应用程序将节省的对象(文件+附加的元数据),以经由所述对象存储。 认沽API和对象存储将保存在某个地方的对象在系统中。 对象存储平台将使应用为对象,应用程序将存储在应用程序数据库中的唯一密钥(类似于代客票)。 如果应用程序想获取该对象,所有他们需要做的就是给关键的GET API的一部分,目标将由对象存储中获取。
希望这是现在很清楚。
披露 - 我的开发和销售两个大型文件和对象存储平台供应商(NetApp公司)工作,我会尽量保持这个作为实现无关,我可以,但我的认知偏差会影响unconciously我的回答。
有来自接入,可编程性和视图实现点许多差异,但鉴于这很可能是由程序员,而不是基础设施或存储的人主要是阅读,我将在这里集中在这方面。
从一个角度外部/编程点的主要区别是,在对象存储的对象被创建或删除或更新作为一个完整的单元,则不能将数据添加到一个对象,则不能更新的一部分对象“到位”,但是,您可以替换它,同时仍保持相同的对象ID。 创建,读取,更新和删除对象通常是通过相对简单的API,它几乎总是REST-FUL或基于REST和鼓励一种心态,这家店是一个可编程的资源或可能作为多租户远程服务来完成。 虽然大多数对象存储我知道支持字节范围的对象中读取,一般对象商店最初设计与整个对象的工作。 对象存储API的很好的例子是那些由亚马逊S3(用于对象的存储访问缺省的标准),开栈夫特,和天青blob服务REST API使用。 描述这些API背后的后端的实现将是一本书,所有的本身。
在一个文件系统另一方面文件具有更广泛的,可应用于它们,包括附加数据,并在适当位置更新数据的功能。 编程模型是不是一个对象存储更复杂,现在几乎总是通过界面的“POSIX”风格的编程访问,通常试图使最有效地利用CPU和内存,并鼓励一种心态,该文件系统是一个专用本地资源。 NFS和SMB确实允许进行可作为多租户资源文件系统,但是这些都与怀疑程序员常常被视为他们有时在他们的反应如何比较,尽管他们对POSIX全力支持“本地”文件系统的细微差别语义。 要在本地文件系统更新文件,你可能会使用的API,如https://www.classes.cs.uchicago.edu/archive/2017/winter/51081-1/LabFAQ/lab2/fileio.html或HTTPS:/ /msdn.microsoft.com/en-us/library/mt794711(v=vs.85).aspx 。 谈到文件系统实现如NTFS的BTRFS VS相对优点VS XFS VS WAFL VS ZFS具有导致一场宗教战争是很不值得任何人的时间,但如果你给我买啤酒,我会高兴地与大家分享我的意见的倾向。
从一个用例点,如果你想保留大量照片的,或视频,或二进制构建文物,那么对象存储通常是一个不错的选择。 如果在另一方面,你想在一个二叉树和更新持久地存储数据,在存储介质上的数据的地方,然后一个对象存储根本就不能工作了,你会是一个文件系统好得多(你也可以使用原始块设备的,但我还没有看到任何人都会这样做的,因为90年代初)
另一大区别是文件系统设计的是强相合的,且通常在低访问到中度延迟(50微秒 - 50毫秒)的网络,而对象存储往往是最终一致,并且分布在低连接在一起的无共享架构带宽高延迟广域网以及它们的时间到第一个字节可以有时在整秒的倍数来测量。 执行大量的小(4K - 16K)随机读取对象存储可能导致挫折和性能问题。
对象存储VS一个文件系统的另一个主要好处是,你可以确信的是什么你把一个对象存储将一直保留,直到你再次问它,它永远不会出来的空间中运行,只要你继续支付对于月租费。 这些资源通常在大规模内置的复制,版本控制,自动恢复等等等等,没有什么短飓风哈维式的灾难会使数据消失运行(即使是这样,你可以很方便的选项,使在另一地点的另一个副本)。 有了文件系统,特别是那种你希望你或你的本地操作的人来管理,你有希望,一切都正在备份,并且它不意外填满,并导致一切融化下来的时候,你不能再更新数据。
我试着将conscise,但让人困惑的是其没有像我上面所用的描述词“文件系统”和“对象存储”得到应用到的东西,如NFS网络文件系统是不实际文件系统,它通过远程过程调用执行POSIX存储API的的一种方式,而VMware的VSAN中,他们称其为“对象存储”,让高速的虚拟机镜像的位置更新的东西将其数据存储。
简单的答案是,对象访问存储系统或服务的利用的API和用于存储,检索和查找数据,而不是传统的文件或NAS等对象的访问方法。 例如以文件或NAS,您使用NFS(网络文件系统)或CIFS(如Windows文件共享)又名SMB又名SAMBA所在的文件有一个名称访问存储/处理与文件系统确定相关的元数据。
元数据包括信息关于创建,访问,修改和其他日期,权限,安全,应用程序或文件类型或其他属性。 文件均以其尺寸方面的文件系统,以及每个文件系统的文件数量的限制。 同样地,文件系统可以通过全部或聚集体尺寸在空间容量和文件的文件系统中的数术语的限制。
对象访问是,虽然文件或NAS前端不同或网关或插件是可用于许多解决方案或服务的主要访问是经由API其中对象可以是任意的尺寸(最多至最大的对象系统的)沿具有可变大小的元数据(取决于对象系统/服务实现)。 对于大多数对象存储系统/服务,您可以从用户定义的元数据或GB的几个字节的任何位置指定。 你可以使用元数据的GB的是什么? 怎么样,除了正常的信息,增加了对政策,管理人员,而其他副本的位置,缩略图或视频预览小,音频等多种数据
对象访问API或接口的一些例子包括亚马逊Web服务(AWS)简单存储服务(S3)或其他HTTP和基于REST的,SNIA CDMI。 不同的解决方案还将支持IOS(如iPhone / iPad的)访问,SOAP,激流,WebDAV的,JSON,等等加上NFS / CIFS XAM。 此外,许多对象存储系统或服务的支持等等蟒蛇程序绑定。 该API允许你完全打开流,然后获取或放置,列表,并通过API /系统支持等功能,以确定你将如何使用它。
例如,我使用这两个Rackspace公司云文件和Amazon S3(除了EBS和冰川)用于备份,存储和归档数据。 我可以访问或通过Web浏览器对象存储工具,包括丛林磁盘(JD),这是我的备份和同步文件。 JD处理对象的管理和对我数据移动到两个Rackspace公司以及亚马逊。 如果我是倾斜的,我也可以使用API做一些编程,然后直接访问或者这些网站提供我的安全凭证做的事情与我的存储对象。
下面是对象的链接和云存储底漆从会话我在荷兰去年一样有对象,并获得一些简单的例子。 http://storageio.com/DownloadItems/Nijkerk_Nov2012/SIO_IndustryTrends_CloudObjectStorage.pdf
使用程序绑定,您将定义数据结构或对象在你的程序,然后使用用于存储,检索,数据,元数据访问等上市的API或调用如果有一个特定的对象存储系统,软件或服务,您正在寻找与工作或需要知道如何编程来,去他们的网站,你应该找到自己的例子SDK或API信息。 有了对象,一旦你对服务或产品/系统创建初始桶或容器,然后简单地创建和你去存储额外的对象。
这里是作为一个例子来AWS S3 API /编程的链接: http://docs.aws.amazon.com/AmazonS3/latest/API/IntroductionAPI.html
从理论上讲对象存储系统都谈到了具有对象的数量没有限制,或物体的大小,在现实中,大多数系统中,解决方案,软件或服务是由他们要么测试限制或目前支持,这可能是数十亿个对象,与对象5GByte或更大的尺寸。 注意在特定的服务或产品的限制,什么是实际测试,支持对什么是架构可能或什么是通过WebEx或PowerPoint中实现。
再次其非常服务和产品/服务/软件取决于作为对象的数量,对象的大小,元数据的大小,并且可以在输入/输出通过其API被移动的数据量。 但是,它一般是安全的假设,对象存储可以更加可扩展性(依赖于实现),比文件系统(不使用全局命名空间,联邦,文件虚拟化或其他技术)。
此外,在我的书云和虚拟数据存储网络(CRC出版社)是英特尔推荐阅读,你会发现关于云对象存储更多的信息。
我将增加更多的相关材料,尽快www.objectstorage.us。
干杯GS
对象存储=块存储+丰富的元数据 - 文件层次
块存储使用的文件系统,以点存储内容。 对象存储使用identifyer指向的内容和他的背景。 这是我的理解阅读内容寻址相对于位置的寻址
块存储需要一个文件系统和结构因此与更大的文件sytems谈到更多的开销。 对象存储有很多有关文件方面的,不需要的文件层次。 在第7页的说明戴尔纸清楚地表明this..What困扰我,是对硬盘本身的规模则没有解释。 我发现,硬盘本身始终使用块存储机制(尽管这似乎正在改变,以)(尽管这似乎正在改变对)
其他一些见解,可以发现这里
哦,我希望我能投下来一些答案最多投票与他人的账户。
得票最多的人,截至记者发稿,甚至不解释这件事情的差异。
有文件存储和对象存储之间的一些非常根本性的分歧。
文件存储提出了自己作为一个文件系统的层次结构与目录,子目录和文件。 这是伟大的,精美的作品时,文件的数量不是很大。 这也是行之有效的,当你确切地知道你的文件的存储。
对象存储,而另一方面,通常通过介绍自己。 一个RESTful API。 没有一个文件系统的概念。 相反,一个应用程序将节省的对象(文件+附加的元数据),以经由所述对象存储。 认沽API和对象存储将保存在某个地方的对象在系统中。 对象存储平台将使应用为对象,应用程序将存储在应用程序数据库中的唯一密钥(类似于代客票)。 如果应用程序想获取该对象,所有他们需要做的就是给关键的GET API的一部分,目标将由对象存储中获取。
希望这是现在很清楚。
这说明它的一个大的部分; 但你争论的元数据。 以下是我一直在读什么这两天,由于这个问题一直没有解决,我将发布。
对象存储没有意义的文件夹,或任何形式的组织结构,这使得它易于为人体组织。 文件存储,当然,确实有所有这些,使得它很容易为人体组织和洗牌,通过...在服务器环境中,在其规模是天文数字文件的多个文件夹,文件夹只是浪费空间和时间。
数据库你说什么? 那么他是不是在谈论对象存储本身,他是在说你的HTTP服务(PHP,Web邮件等),在其数据库中的唯一ID的引用,可能有一个人的识别名称的文件。
元数据,以及存储在此文件中,你说什么? 这就是元数据是什么。 您单个文件被分成一堆小块,分散的地理位置,服务器和硬盘驱动器。 这些小片还含有较多的数据,它们包含的数据,或者甚至完全重叠的其他部分的奇偶校验信息。
该元数据被用来定位每一块该文件在不同的地理位置,数据中心,服务器和硬盘驱动器的数据以及被用来恢复从硬件故障任何破坏块。 它会自动完成。 它甚至会流体移动这些作品有一个更好的传播。 它甚至会重新创建一块消失了,它存储了新的良好的硬盘驱动器上。
这可能是一个简单的解释; 但我认为它可以帮助你更好的理解。 我相信,文件存储可以做到与元数据同样的事情; 但文件存储是存储,您可以组织作为一个人(文件夹,层次结构和这样的),而对象存储没有等级,没有文件夹,只是一个平坦的储存容器。
大多数公司使用基于对象的解决方案必须基于性能/成本请求数选择块/文件/对象存储的混合。
从使用情况的角度:
最终对象存储被创建,以解决其爆炸性增长的非结构化数据,远远高于结构化数据更快。
例如,如果数据库结构化数据,非结构化的将是一个Word文档或PDF。
你如何检索1个十亿PDF文件在文件系统? (如果它甚至可以存储在首位很多)。
你怎么能快速搜索1个十亿文件仅仅是元数据?
目前对象存储更多的是用于长期或档案,廉价和深存储,持续跟踪该数据是什么更详细的。 搜索或挖掘大数据集时,该数据变得非常强大。 有时候,你可以让你从元数据需要什么,甚至没有访问数据本身。 对象存储解决方案通常可以用地理故障切换内置自动复制。
问题是,应用程序都必须重新编写,使用对象的访问方法,而不是文件的层次结构(这是简单的从应用开发的角度看)。 这是真正在数据存储的理念上的变化,并存储关于从管理的角度来看这些数据更多可操作的信息,以及使用情况。
简单的例子可能是一个MRI扫描图像。 在文件系统你有所有者/创建日期,但仅此而已。 如果它是一个对象,所有的周边的MRI信息可能与它一起被存储在元数据,如患者姓名,MRI中心位置,请求医生,保险公司等。
块/文件更适合于本地访问,或OTLP在性能是不是保留和成本更重要。
例如,你不会想等待分钟为一个Word文档打开,但你可以等待几分钟的数据挖掘/商业智能过程完成。
另一个例子是,你必须寻找一切从5年前提出一个合法的搜索。 有了降低活动数据集和成本的保留策略,你会怎么做,即使在不从磁带恢复?
对象存储是更换磁带一样长期存档方法很好的解决方案。
设置复制和故障转移块和文件可以得到企业非常昂贵,通常需要非常昂贵的软件和服务。
注意:在较低的水平,对象的存储访问经由所述的RESTful API这更像比在路径的末端访问文件的Web请求发生的情况。
其实你可以安装一个桶/容器和Linux的访问对象或子文件夹(和它们的对象)。 举例来说,我已经安装在Ubuntu s3fs我所建立一个挂载点到我的S3水桶之一,并能够做到规则CP,LS等功能就好像它是另一个文件系统。 关键是让软件工具,其中有很多,可以让你映射一个桶/容器中,其显示为挂载点。 还有一些软件工具,让您除了通过iSCSI访问S3和其他桶/容器为NAS。
此链接解释了两者之间的区别: http://www.dell.com/downloads/global/products/pvaul/en/object-storage-overview.pdf
我认为,白皮书介绍了对象存储的想法非常好。 我不知道从用户应用程序中使用对象存储设备(在SCSI OSD的意义上)的任何标准方式。
对象存储是在一些大型的存储产品等的存储设备使用Panasas的 。 然而,这些设备然后文件系统导出到最终用户。 这是恕我直言,公平地说,T10 OSD想法从未真正流行的势头。
相关理念,以OSD标准可以像云存储系统中找到S3和RADOS 。
这里是一个很好的文章值得一读: https://cloudian.com/blog/object-storage-vs-file-storage/从ariticle引用:
首先,对象存储克服了许多文件存储面临的局限性。 认为文件存储的仓库。 当你第一次把文件的箱子在那里,好像你有足够的空间。 但随着数据需求的增长,你的仓库填满能力,你知道它之前。 对象存储,在另一方面,是像仓库,除了与没有屋顶。 你可以继续无限地增加数据 - 天空才是极限。 如果你主要是获取更小或单个文件,那么文件,高性能的存储眼前一亮,尤其是比较低的数据。 一旦你开始缩放,不过,你可能会开始怀疑,“我怎么找到我需要的文件?”在这种情况下,你能想到的对象存储的代客泊车,而文件存储更喜欢自助停车(是的,其他的比喻,但包涵!)。 当你把你的车到小很多,你确切地知道你的车是。 然而,假设很多是一千倍大 - 它会是很难找到你的车吧? 因为对象存储有定制的元数据和所有对象住在一个平面地址空间,它类似于在移交钥匙到代客。 你的车会被存储在某个地方,当你需要它,代客将让汽车给你。 这可能需要一点时间找回你的车,但你不必担心四处游荡寻找它。