了解 Azure 存储服务

已完成

Azure 存储了提供四项可以使用 Azure 存储帐户访问的数据服务:

  • Azure Blob 存储(容器):一种适用于文本和二进制数据的可大规模缩放的对象存储。

  • Azure 文件:适用于云或本地部署的托管文件共享。

  • Azure 队列存储:用于在应用程序组件之间进行可靠的消息传送的消息传送存储。

  • Azure 表存储:存储非关系结构化数据(也称为结构化 NoSQL 数据)的服务。

让我们检查这些服务的详细信息。

Azure Blob 存储

Azure Blob 存储是 Microsoft 提供的适用于云的对象存储解决方案。 Blob 存储已经过优化,适用于存储巨量非结构化或非关系数据(如文本或二进制数据)。 Blob 存储最适合用于:

  • 直接向浏览器提供图像或文档。
  • 存储文件以供分布式访问。
  • 对视频和音频进行流式处理。
  • 存储用于备份和还原、灾难恢复及存档的数据。
  • 存储数据以供本地或 Azure 托管服务执行分析。

可以通过 HTTP 或 HTTPS 从世界上的任何地方访问 Blob 存储中的对象。 用户或客户端应用程序可以通过 URL、Azure 存储 REST API、Azure PowerShell、Azure CLI 或 Azure 存储客户端库访问 Blob。 存储客户端库以多种语言提供,包括 .NET、Java、Node.js、Python、PHP 和 Ruby。

注意

你可以使用 NFS 协议访问 Azure Blob 存储中的数据。

Azure 文件

通过 Azure 文件存储,可以设置高度可用的网络文件共享。 可以通过使用服务器消息块 (SMB) 协议或网络文件系统 (NFS) 协议来访问共享。 多个虚拟机可以共享启用了读取和写入访问权限的相同文件。 也可以通过使用 REST 接口或存储客户端库来读取文件。

文件共享适用于许多常用方案:

  • 许多本地应用程序使用文件共享。 此功能可以更方便地迁移那些将数据共享到 Azure 的应用程序。 如果将文件共享装载到本地应用程序所使用的驱动器号,则应用程序中访问文件共享的那部分应尽量少做更改(如果必须进行更改的话)。
  • 可在文件共享上存储配置文件,并从多个虚拟机进行访问。 可以将一个组中多个开发人员使用的工具和实用程序存储到文件共享中,确保每个人都能找到它们并使用同一版本。
  • 例如,诊断日志、指标和故障转储是三种可以写入到文件共享中供以后处理或分析的数据。

存储帐户凭据用于提供访问文件共享所需的身份验证。 装载共享的所有用户都应具有对共享的完整读/写访问权限。

Azure Queue Storage

Azure 队列存储用于存储和检索消息。 队列消息最大可以为 64 KB,一个队列可以包含数百万条消息。 队列用于存储需要异步处理的消息的列表。

考虑这样一种情况,如果希望客户能够上传图片,并且想要为每张图片创建缩略图。 可以让客户在上传图片时等待你创建缩略图, 一种替代方法是使用队列。 当客户完成上传操作后,你可以向队列写入一条消息。 然后可以使用 Azure 函数检索队列消息并创建缩略图。 可以单独缩放每个处理部分,这样即可在优化配置时进行更多控制。

Azure 表存储

Azure 表存储是一项在云中存储非关系型结构化数据(也称为结构化 NoSQL 数据)的服务,它提供具有无架构设计的键/属性存储。 因为表存储无架构,因此可以很容易地随着应用程序需求的发展使数据适应存储。 对于许多类型的应用程序来说,访问表存储数据速度快且经济高效,在数据量相似的情况下,其成本通常比传统 SQL 要低。 除了现有的 Azure 表存储服务,还有一个新的 Azure Cosmos DB 表 API 产品/服务,用于提供吞吐量优化表、全局分布和自动辅助索引。

选择 Azure 存储服务时的注意事项

考虑 Azure 存储的配置计划时,请考虑 Azure 存储类型的突出功能,以及哪些选项支持应用程序需求。

  • 考虑大规模数据的存储优化。 Azure Blob 存储最适合存储巨量的非结构化数据。 可以通过 HTTP 或 HTTPS 从世界上的任何地方访问 Blob 存储中的对象。 Blob 存储非常适合直接将数据传送到浏览器、流式处理数据和存储数据,以供备份和还原。

  • 考虑具有高可用性的存储。 Azure 文件支持高度可用的网络文件共享。 本地应用使用文件共享轻松迁移。 通过使用 Azure 文件,所有用户都可以访问共享数据和工具。 存储帐户凭据提供文件共享身份验证,以确保装载文件共享的所有用户都具有相应的读/写访问权限。

  • 考虑消息的存储。 使用 Azure 队列存储可存储大量消息。 队列存储通常用于创建要异步处理的积压工作 (backlog)。

  • 考虑结构化数据的存储。 Azure 表存储存储结构化非关系型数据的理想选择。 它可以提供吞吐量优化表、全局分发和自动辅助索引。 由于 Azure 表存储是 Azure Cosmos DB 的一部分,你有权访问一种完全托管的 NoSQL 数据库服务,用于新式应用开发。