文件标识符无效。使用 fopen 生成有效的文件标识符。_「存储架构」块存储、文件存储和对象存储(第1节)...

d3f4569d5b239bad65caabe10e9f2943.png

全球传输和生成的数据比以往任何时候都多。国际数据公司(IDC)的分析师预计,到2025年,全球数据层将增至163zb。这比2016年16.1 ZB的数据增长了1000%以上。数据大量增加的原因是多方面的:

生成数据的来源和设备比以前多得多——嵌入式系统和设备正在收集数据并将其传输到大数据应用程序和解决方案中进行实时分析。使用移动设备、社交媒体平台、在线购物以及随时随地使用各种应用程序的持续趋势每天都在产生大量数据。此外,企业正在进行一场向客户提供数据的转型,以满足他们对从未见过的新闻和实时数据日益增长的需求。

根据Gartner的最新预测,到2020年,超过一半的主要业务流程和系统将在其组织中加入物联网(Internet of things)的某些元素。与此同时,由大数据应用程序生成、传输和分析的数据量(这些数据将被存储在内部或外部)将大幅增长。

由于对存储的需求,管理部门和IT部门的代表已经大大增加了能够处理和存档比以往任何时候都多的数字内容的解决方案。

然而,从硬件的角度来看,现在不仅需要更大数量的存储设备——例如硬盘、ssd或SSHDs——而且还需要一个适当的文件系统来处理这种大数据增长的结果。这是因为即使不是所有的数据都存储在存储设备上,最重要的数据以及分析结果也会被存储在存储设备上。这将导致存储空间的需求增加。此外,大部分存储需求将由企业内部处理,也可以通过Amazon的S3或Microsoft Azure等云服务处理。

带有文件存储和块存储的旧的存储概念将不适用于未来的数据增长,对企业和云提供商都是如此。存储这些海量数据的解决方案是对象存储(也称为基于对象的存储)。但是,与以前的概念相比,它们之间的区别是什么?是什么使对象存储更好地适应数据爆炸?

要理解对象存储所提供的好处,必须首先了解文件存储和块存储的旧概念,因为它们之间有很大的差异。

文件、块和对象存储之间的区别

文件存储和块存储是在NAS和SAN存储系统上存储数据的方法。

在NAS系统上,它将其存储作为网络文件系统公开。当设备附加到NAS(网络附加存储)系统时,将显示一个挂载文件系统,用户可以使用适当的访问权限访问其文件。因为NAS系统必须管理用户权限、文件锁定和其他安全措施,以便多个用户可以访问文件。对NAS的访问通过NFS和SMB/CIFS协议进行处理。与任何服务器或存储解决方案一样,文件系统负责在NAS中定位文件。这对于数十万甚至数百万的文件非常有效,但对于数十亿的文件就不行了。

块存储的工作方式与此类似,但与在文件级管理数据的文件存储不同,数据存储在数据块中。几个块(例如在SAN系统中)构建一个文件。一个块由一个地址组成,如果SAN应用程序对这个地址发出scsi请求,那么它将获得这个块。存储应用程序然后决定数据块是否存储在系统中,以及存储在什么特定的磁盘或存储介质上。最后如何组合这些块以及如何访问它们决定了存储应用程序。SAN中的块没有与存储系统或应用程序相关的元数据。换句话说:块是没有描述、关联和存储解决方案所有者的数据段。一切都由SAN软件处理和控制。由于SAN和块存储经常用于需要性能的应用程序,如数据库或事务,因为数据可以访问、修改和保存。

这两种存储数据的方法多年来都运行良好。那么,为什么需要另一个概念呢?这是因为这两个概念的解决方案都需要实现用户访问权限的功能,以便对数据进行更改。

我们现在看到的是,产生的大部分数据是“固定的”或非结构化数据。内容或材料不会再改变。这就是对象存储发挥作用的地方:

对象存储中的对象是与相应元数据“绑定的数据”(即文件)。该对象获取一个惟一的ID(标识符),该标识符是从文件内容和元数据中计算出来的。应用程序通过这个ID标识对象。对象存储系统中的许多对象都存储在给定的存储磁盘上。在纯形式的对象存储中,“只能”保存一个文件(对象)的一个版本。如果用户进行了更改,相同文件的另一个版本将存储为新对象。因此,对象存储是备份或归档解决方案的完美解决方案。或者,例如,存储大量的视频或电影,这些视频或电影只能被观看,不能像在线电影流媒体网站或YouTube上的视频那样被改变。

其他概念之间的主要区别是通过支持对象存储的应用程序本身来管理对象。这意味着这里不需要真正的文件系统。这一层已经过时了。使用对象存储的应用程序将存储查询发送到解决方案中存储对象的位置。然后,在巨大的存储空间中给对象一个地址,并由应用程序本身保存在那里。

由于数据管理非常简单——没有真正的文件系统——对象存储解决方案比文件存储或基于块存储的系统更容易扩展。您只需在解决方案中添加一些磁盘,就不再需要大的管理来获得更多的存储空间。这是一个主要的好处,尤其是在指数级数据增长的时代。

因此,对象存储是处理大量数据的完美解决方案,因此被Amazon、谷歌等大型云服务提供商高度使用。但是数据保护和数据恢复呢?我们将在本文的第二部分提供这些问题的答案。

原文:https://www.ontrack.com/blog/2018/02/22/the-evolution-of-storage-file-storage-vs-block-storage-vs-object-storage-part-1/

本文:http://jiagoushi.pro/block-storage-vs-file-storage-vs-object-storage-pt-1

讨论:请加入知识星球【首席架构圈】或者飞聊小组【首席架构师智库】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476891.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软,把数据中心部署到了海底…

源 | 直观学机械、蓝点网2014年微软首次提出了水下数据中心概念,当时认为这个概念有望为沿海人口提供高速云服务,并节省能源。2015年,微软在太平洋开展为期105天的部署过程中证明了水下数据中心概念是切实可行的。2018年,微软把一…

程序员面试金典 - 面试题 16.15. 珠玑妙算(map计数)

1. 题目 珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B&am…

python方向键控制角色_python方向键控制上下左右代码

本文所示代码实现python编程方向键控制图片上下左右,我们首先看下演示结果。 演示:实例代码: bif"1.jpg" mif"2.jpg" import pygame,sys from pygame.locals import * pygame.init() screenpygame.display.set_mode((640…

测试ASP.NET 2.0中Gridview控件高级技巧

ASP.NET 2.0中,新增加的gridview控件的确十分强大,弥补了在asp.net 1.1中,使用datagrid控件时的不足之处。因为在asp.net 1.1中,在使用datagrid时,很多情况下依然要编写大量的代码,十分不方便,而…

一场AI技术引发的金融业“降本增效”

文 | 卖萌酱大家好,我是卖萌酱。“全面赋能千行百业”是AI的重要使命,政务、法律、金融、医疗、制造等传统行业往往智能化程度低,在效率、成本和收益方面蕴藏着巨大的优化空间。其中,金融业,就正在AI技术的赋能下&…

LeetCode 999. 车的可用捕获量

1. 题目 在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出…

matlab 转换为正整数_【MATLAB】专题1笔记 MATLAB基础知识

视频课程参考:https://www.bilibili.com/video/BV19J411W7Ta数值问题-->求解算法-->程序实现-->结果分析MATLAB 功能 :数值计算,符号计算,图形绘制,程序流程绘制,工具箱数值计算方法&#xff1a…

showModalDialog和showModelessDialog使用心得

一、showModalDialog和showModelessDialog有什么不同?  showModalDialog:被打开后就会始终保持输入焦点。除非对话框被关闭,否则用户无法切换到主窗口。类似alert的运行效果。  showModelessDialog:被打开后,用户可…

python网络编程内容_Python网络编程

本文要写的内容也称为Python套接字编程,并简单介绍socketserver类。参考教程主要是《Python核心编程》。 首先,客户端/服务器模型,客户端向服务器发送请求,在请求合理的情况下,服务器返回客户端需要的资源,…

程序员面试金典 - 面试题 16.17. 连续数列(DP/分治)

1. 题目 给定一个整数数组(有正数有负数),找出总和最大的连续数列,并返回总和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大&#xff0c…

视觉能力提升112%!李飞飞团队让AI进入社会,学会了“骗”标注…

作者 | 李梅编辑 | 陈彩娴来源 | AI科技评论人类从与他人的互动中学习,而目前的人工智能却常常只能在与社会隔离的环境中学习。所以当我们把一个智能体放到真实世界中时,它会不可避免地在遇到大量新的数据,无法应对不断变化的新需求。如何将智…

.Net 1.1下WEB引用Win控件的两个Bug

1.WEB系统引用windows控件的方式来实现页面打印的功能,一直使用比较正常,有一天更新后部分机器不能正常加载控件。后来分析的N久,发现是打印控件上我加了一个Label,使用了Arial Black字体,如果客户的机器上没有这种字体…

程序员面试金典 - 面试题 16.11. 跳水板(数学)

1. 题目 你正在使用一堆木板建造跳水板。 有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。 你必须正好使用 k 块木板。编写一个方法,生成跳水板所有可能的长度。 返回的长度需要从小到大排列。 示例&…

信息抽取终于实现了大一统~

2022年了,有人说信息抽取领域早已是诸神黄昏。然而即使这样,依然“内卷”不止。似乎这个卷成麻花的领域已经看不到希望?但是不久前,这个沉寂之地忽然翻起了浪花,一篇发表在ACL2022上的工作,昭示着这个领域终…

python的输出函数_Python

Python print() 函数 描述 print() 方法用于打印输出,最常见的一个函数。 在 Python3.3 版增加了 flush 关键字参数。 print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字。 语法 以下是 print() 方法的语法: pr…

ubuntu6.06容易死机的一种解决方法

修改 /etc/X11/xorg.conf 在 Section "Module" 中把下面这句话注视掉。 # Load "dri" 然后,在下面这个Section中(你的可能有些出入,但应该有个相似的Section),把 Driver "ati" 改成 Dri…

程序员面试金典 - 面试题 17.12. BiNode(BST中序遍历)

1. 题目 二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点)。 实现一个方法,把二叉搜索树转换为单向链表,要求值的顺序保持不变,转换操作应是原址的,也就是在原始…

从大一统视角理解扩散模型(Diffusion Models)

文 | 中森知乎资料来源这篇文章是近期笔者阅读扩散模型的一些技术博客和概览的一篇梳理。主要参考的内容来自Calvin luo的论文,针对的对象主要是对扩散模型已经有一些基础了解的读者。Calvin luo 的这篇论文为理解扩散模型提供了一个统一的视角,尤其是其…

python开三次方_用python计算三次方根

我试图在python中计算以下函数:f(x) (1 cos(x))^(1/3) def eval( i ): return math.pow( (1 math.cos( i )), 1/3) 为什么它总是返回给我1? 我试图计算积分的Right和Left近似值,后者应用Simpsons Rule,但是Python似乎不喜欢这个…

程序员面试金典 - 面试题 16.05. 阶乘尾数(5的因子)

1. 题目 设计一个算法,算出 n 阶乘有多少个尾随零。 示例 1: 输入: 3 输出: 0 解释: 3! 6, 尾数中没有零。示例 2: 输入: 5 输出: 1 解释: 5! 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。来源:力扣(LeetCode&#x…