【Azure】微软 Azure 基础解析(八)Azure 存储服务:探索Blob存储、队列存储、文件存储的特性与适用场景
本系列博文还在更新中,收录在专栏:「Azure探秘:构建云计算世界」 专栏中。
本系列文章列表如下:
- 【Azure】微软 Azure 基础解析(三)描述云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx
- 【Azure】微软 Azure 基础解析(四)Azure核心体系结构组件之数据中心、区域与区域对、可用区和地理区域
- 【Azure】微软 Azure 基础解析(五)核心体系结构之管理组、订阅、资源和资源组以及层次关系
- 【Azure】微软 Azure 基础解析(六)计算服务中的虚拟机 VM、虚拟机规模集、Azure Functions 与 Azure 容器(ACI)
- 【Azure】微软 Azure 基础解析(七)Azure 网络服务中的虚拟网络 VNet、网关、负载均衡器 Load Balancer
文章目录
- 前言
- 一、数据类型(前提知识、了解部分,可跳过)
- 1.1 结构化数据(Structured Data)
- 1.2 半结构化数据(Semi-Structured Data)
- 1.3 非结构化数据(Unstructured Data)
- 二、Azure 存储概览
- 三、Azure Blob 存储
- 3.1 存储帐户
- 3.2 存储容器
- 3.3 Blob
- 3.4 Azure Blob 存储层(重要)
- 3.5 Blob 存储应用场景(重要)
- 四、Azure 队列存储(Queue Storage)
- 五、Azure 表存储(Table Storage)
- 六、Azure 文件存储(File Storage)
前言
本文将介绍不同类型的数据以及与之相关的Azure存储解决方案。
首先,我们将简要探讨数据类型,包括结构化数据、半结构化数据和非结构化数据。
接下来,我们将概览Azure存储,介绍其特点和优势。在详细探讨Azure Blob存储时,我们将介绍存储帐户、存储容器和Blob,并重点关注Azure Blob存储层和应用场景。然后,我们将介绍Azure队列存储,用于实现应用程序之间的解耦和异步通信。我们还将介绍Azure表存储,适用于存储大量结构化数据。
最后,我们将介绍Azure文件存储,用于共享文件和支持文件共享的应用程序。
通过本文的阅读,您将对不同类型的数据和与之对应的Azure存储解决方案有更清晰的理解。希望本文能够帮助您在选择和使用存储解决方案时做出明智的决策。
一、数据类型(前提知识、了解部分,可跳过)
1.1 结构化数据(Structured Data)
结构化数据是其元素可寻址以进行有效分析的数据。它已被组织到一个格式化的存储库中,该存储库通常是一个数据库。它涉及可以存储在具有行和列的表中的数据库 SQL 中的所有数据。它们具有关系键,可以轻松映射到预先设计的字段。今天,这些数据在开发中处理得最多,也是管理信息的最简单方法。示例:关系数据。
结构化数据即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据。
1.2 半结构化数据(Semi-Structured Data)
半结构化数据是不存在于关系数据库中但具有一些使其更易于分析的组织属性的信息。对于某些进程,可以将它们存储在关系数据库中(对于某种半结构化数据可能非常困难),但半结构化的存在是为了缓解空间。
介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,HTML文档就属于半结构化数据。
1.3 非结构化数据(Unstructured Data)
非结构化数据是没有按预定义方式组织或没有预定义数据模型的数据,因此不太适合主流关系型数据库。因此,对于非结构化数据,存在用于存储和管理的替代平台,它在 IT 系统中越来越普遍,并被组织用于各种商业智能和分析应用程序。示例:Word、PDF、文本、媒体日志。
非结构化数据,包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等
二、Azure 存储概览
选择 Azure 存储类型最重要的步骤之一是定义你想要存储什么,如何以及需要哪些选项和功能来实现。
微软Azure中有五种可用的存储类型,分为两组。
第一组存储包括队列存储、表存储和 Blob 存储,设计时考虑了文件存储、可扩展性和通信,可以通过 REST API 访问。另一个包括文件存储和磁盘存储,用于扩展微软 Azure 虚拟机环境的功能,并专门用于从虚拟机访问。(不要被文件存储的命名搞混乱。它不表示文件的非结构化存储。)
下面本文会根据分类详细进行讲解
三、Azure Blob 存储
Azure Blob 存储是 Microsoft 提供的适用于云的对象存储解决方案。 Blob 存储最适合存储巨量的非结构化数据。 非结构化数据是不遵循特定数据模型或定义的数据(如文本或二进制数据)。到这里你就理解了为什么本文开头的时候会讲解一下数据类型,因为 Blob 主要就被用于存储非结构化数据。
Blob 存储提供了三种类型的资源:
- 存储帐户
- 存储帐户中的容器
- 容器中的 Blob
以下图示显示了这些资源之间的关系。
3.1 存储帐户
存储帐户在 Azure 中为数据提供唯一的命名空间。 存储在 Azure 存储中的每个对象都有一个地址,其中包含唯一的帐户名称。 帐户名称与 Blob 存储终结点的组合构成了存储帐户中对象的基址。
例如,如果存储帐户名为 mystorageaccount,则 Blob 存储的默认终结点为:
http://mystorageaccount.blob.core.windows.net
3.2 存储容器
容器对一组 blob 进行组织,类似于文件系统中的目录。 一个存储帐户可以包含无限数量的容器,一个容器可以存储无限数量的 Blob。
容器名称必须是有效的 DNS 名称,因为它是用于对容器或其 Blob 进行寻址的唯一 URI(统一资源标识符)的一部分。 为容器命名时,需要遵循以下规则:
- 容器名称的长度可以是 3 到 63 个字符。
- 容器名称必须以字母或数字开头,并且只能包含小写字母、数字和短划线 (-) 字符。
- 容器名称中不允许出现两个或更多个连续的短划线字符。
容器的 URI 类似于:
https://myaccount.blob.core.windows.net/mycontainer
3.3 Blob
Azure 存储支持三种类型的 Blob:
- 块 Blob 存储文本和二进制数据。 块 Blob 由可以分别管理的数据块构成。 块 blob 最多可存储约 190.7 TiB。
- 与块 Blob 一样,追加 Blob 也由块构成,但针对追加操作进行了优化。 追加 Blob 非常适用于诸如记录来自虚拟机的数据之类的场景。
- 页 Blob 用于存储最大 8 TiB 的随机访问文件。 页 blob 存储虚拟硬盘 (VHD) 文件并作为 Azure 虚拟机的磁盘。
blob 的 URI 类似于:
https://myaccount.blob.core.windows.net/mycontainer/myblob
或
https://myaccount.blob.core.windows.net/mycontainer/myvirtualdirectory/myblob
3.4 Azure Blob 存储层(重要)
Azure Blob 存储提供四个访问层,即:热存储层、冷存储层、寒层(预览版)和归档存储层。它们在价格、提前删除费用和数据恢复速度方面有所不同。
寒层目前为预览版(发文时间点总结,更新时间 06/02/2023 16:04),在以下区域可用:加拿大中部、加拿大东部、法国中部、法国南部和韩国中部。
关于存储层一些特点总结:越热存储费用越高;越冷,访问和事务成本越高,延迟越高。详细参照这里总结的一个表格,如果有错误请私信或者留言给博主:
Azure Blob存储层类型 存储成本 访问和事务成本较高 访问延迟 提前删除费 建议的最短数据保留期 是否适合短期备份和灾难恢复数据集 热层 高 最低 小(毫秒) 无 无 是 冷层 较低 低 小(毫秒) 有 30 天 是 寒层 低 较低 小(毫秒) 有 90 天 是 归档存储层 最低 最高 高(小时) 有 180天 否 3.5 Blob 存储应用场景(重要)
这里总结一下 Blob 存储的应用场景,个人理解你可以认为 Blob 存储类似于一个超大型的网盘。
Blob 存储用于:
- 直接向浏览器提供图像或文档。
- 存储文件以供分布式访问。
- 对视频和音频进行流式处理。
- 向日志文件进行写入。
- 存储用于备份和还原、灾难恢复及存档的数据。
- 存储数据以供本地或 Azure 托管服务执行分析。
四、Azure 队列存储(Queue Storage)
听到队列一般都与消息有关,Azure 队列存储的主要用途亦是如此。Azure 队列存储用于在应用程序之间进行排队和可靠传递消息的数据存储。
Azure 支持两种类型的队列机制:
- 存储队列:作为 Azure 存储基础设施的一部分,它们具有简单的基于 REST 的 GET/PUT/PEEK 接口,在服务内部和服务之间提供可靠和持久的消息传递。
- 服务总线队列:是更广泛的 Azure 消息传递基础结构的一部分,它支持队列以及更高级的集成模式。
Azure 队列存储特点、作用总结(重要):
- 有助于构建灵活的应用程序和独立的功能,以在大型工作负载中获得更好的持久性。
- 当应用程序组件解耦时,它们可以独立扩展
- 为应用程序组件之间的通信提供异步消息队列
- 通常,有一个或多个发送端组件和一个或多个接收端组件。
- 发送者组件将消息添加到队列,接收组件从队列的前端检索消息以进行处理
Azure 队列存储能做什么?
- 创建积压工作 (backlog) 以及在不同的 Azure Web 服务器之间传递消息。
- 在不同的 Web 服务器/基础结构之间分配负载并管理流量突发。
- 在多名用户同时访问数据的情况下,构建针对组件故障的复原能力。
五、Azure 表存储(Table Storage)
Azure 表存储是一项用于在云中存储半结构化数据(NoSQL 数据)的服务,通过无架构设计提供键/属性存储。 可以使用表存储来存储和查询大型结构化非关系型数据集,并且表会随着需求的增加而扩展。
URL 格式: Azure 表存储帐户使用此格式:http://.table.core.windows.net/
结构化数据和大数据分析提供更便宜、更具可扩展性的存储
六、Azure 文件存储(File Storage)
Azure 文件存储是第二种存储类型,主要目的在支持 Azure VM 环境的需求。该存储本质上是网络共享。您可以将可以从不同虚拟机访问的文件存储在那里。它类似于其直接竞争对手Amazon EFS。
你可以理解为是一个共享盘,共享文件夹且有存储能力。
这部分的考点内容:举个例子,你想要将一个网络驱动器从运行在 Win10 的多台计算机映射到 Azure 存储中,
你需要使用什么样的存储方式? Azure 文件存储。
[ 本文作者 ] bluetata [ 原文链接 ] https://bluetata.blog.csdn.net/article/details/131012518 [ 最后更新 ] 06/02/2023 18:36 [ 版权声明 ] 如果您在非 CSDN 网站内看到这一行, 说明网络爬虫可能在本人还没有完整发布的时候就抓走了我的文章, 可能导致内容不完整,请去上述的原文链接查看原文。