描述 Azure 存储服务

已完成

Azure 存储平台包括以下数据服务:

  • Azure Blob:适用于文本和二进制数据的可大规模缩放的对象存储。 还包括通过 Data Lake Storage Gen2 支持大数据分析。
  • Azure 文件:适用于云或本地部署的托管文件共享。
  • Azure 队列:用于在应用程序组件之间进行可靠的消息传送的消息存储。
  • Azure 磁盘:Azure VM 的块级存储卷。
  • Azure 表:适用于结构化非关系数据的 NoSQL 表选项。

Azure 存储的优点

Azure 存储服务为应用程序开发人员和 IT 专业人员提供了以下好处:

  • 持久且具有高可用性。 冗余可确保数据在出现短暂的硬件失败时是安全的。 还可以选择在各个数据中心或地理区域之间复制数据,从而在发生本地灾难或自然灾害时提供额外的保护。 以此方式复制的数据在发生意外中断时将保持高可用性。
  • 安全。 该服务会对写入到 Azure 存储帐户的所有数据进行加密。 Azure 存储可以精细地控制谁可以访问你的数据。
  • 可缩放。 Azure 存储设计为可大规模缩放以满足当今的应用程序在数据存储和性能方面的需求。
  • 托管的。 Azure 为你处理硬件维护、更新和关键问题。
  • 可访问。 可以通过 HTTP 或 HTTPS 从世界上的任何位置访问 Azure 存储中的数据。 Microsoft 以各种语言(包括 NET、Java、Node.js、Python、PHP、Ruby、Go 和其他语言)提供了适用于 Azure 存储的客户端库以及成熟的 REST API。 Azure 存储支持通过 Azure PowerShell 或 Azure CLI 运行脚本。 而且,Azure 门户和 Azure 存储资源管理器提供了用于处理数据的简单可视化解决方案。

Azure Blob

Azure Blob 存储是适用于云的对象存储解决方案。 它可以存储海量数据,例如文本或二进制数据。 Azure Blob 存储是非结构化的,这意味着它可保存各种类型的数据。 Blob 存储可以管理数千个同步上传、大量视频数据以及不断增长的日志文件,并且你可以通过 Internet 连接从任意位置访问它。

Blob 并不限于常见的文件格式。 Blob 可能包含从科学仪器流式传输的千兆字节二进制数据、另一个应用程序的加密消息,或者正在开发的应用的自定义格式的数据。 blob 存储相比磁盘存储的一个优点是不需要开发人员考虑或管理磁盘。 数据以 blob 的形式上传,Azure 负责解决物理存储需求。

Blob 存储最适合用于:

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

访问 Blob 存储

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

Blob 存储层

存储在云中的数据以指数速度增长。 要为扩展的存储需求管理成本,根据属性(如访问频率和计划保留期)整理数据将很有帮助。 对于云中存储的数据,可能会根据其生成方式、处理方式以及在生存期内的访问方式进行不同的处理。 某些数据在其整个生存期中都会受到积极的访问和修改。 某些数据则在生存期早期会受到频繁访问,随着数据变旧,访问会极大地减少。 某些数据在云中保持空闲状态,并且在存储后很少(如果有)被访问。 为了满足这些不同的访问需求,Azure 提供了几个访问层,可以利用它们实现存储成本与访问需求的平衡。

Azure 存储为 blob 存储提供不同的访问层,有助于以最经济高效的方式存储对象数据。 可用的访问层包括:

  • 热访问层:针对存储经常访问的数据(例如网站图像)进行了优化。
  • 冷访问层:为不常访问且存储时间至少为 30 天的数据(例如客户发票)进行了优化。
  • 寒访问层:已经过优化,可存储不经常访问且存储至少 90 天的数据。
  • 存档访问层:适用于极少访问、存储时间至少为 180 天且延迟要求不严格的数据(例如长期备份)。

以下注意事项适用于不同的访问层:

  • 可在帐户级别设置热访问层和冷访问层。 不能在帐户级别设置寒访问层和存档访问层。
  • 可以在上传期间或上传后在 Blob 级别设置热层、冷层、寒层和存档层。
  • 冷和寒访问层中的数据可以容忍略低的可用性,但仍然需要类似于热数据的高持久性、检索延迟和吞吐量特性。 与热数据相比,冷数据和寒数据接受以略低的可用性服务级别协议 (SLA) 和较高的访问成本为代价实现较低的存储成本。
  • 存档存储可脱机存储数据,其存储费用最低,但数据解除冻结和访问费用最高。

Azure 文件

Azure 文件存储会在云中提供完全托管的文件共享,它们可通过行业标准的服务器消息块 (SMB) 协议或网络文件系统 (NFS) 协议进行访问。 可以通过云部署或本地部署以并发方式装载 Azure 文件存储文件共享。 可以从 Windows、Linux 和 macOS 客户端访问 SMB Azure 文件共享。 可以从 Linux 或 macOS 客户端访问 NFS Azure 文件存储共享。 此外,还可以使用 Azure 文件同步将 SMB Azure 文件共享缓存在那些靠近数据使用位置的 Windows Server 上,以加快访问速度。

Azure 文件存储的主要优势:

  • 共享访问:Azure 文件共享支持行业标准 SMB 协议和 NFS 协议,这意味着,你可以无缝地将本地文件共享替换为 Azure 文件共享,而无需担心应用程序兼容性。
  • 完全托管:无需管理硬件或 OS 即可创建 Azure 文件共享。 这意味着,你不需使用关键的安全升级程序来修补服务器 OS,也不需更换故障硬盘。
  • 脚本和工具:可以在管理 Azure 应用程序的过程中使用 PowerShell cmdlet 和 Azure CLI 来创建、装载和管理 Azure 文件共享。 可以使用 Azure 门户和 Azure 存储资源管理器来创建和管理 Azure 文件共享。
  • 复原能力:Azure 文件存储从头开始构建,始终可用。 用 Azure 文件存储取代本地文件共享意味着无需在半夜醒来处理本地断电的情况或网络问题。
  • 熟悉的可编程性:在 Azure 中运行的应用程序可以通过文件系统 I/O API 访问共享中的数据。 因此,开发者可以使用其现有代码和技术迁移现有应用程序。 除了系统 IO API,还可以使用 Azure 存储客户端库或 Azure 存储 REST API。

Azure 队列

Azure 队列存储是一个可存储大量消息的服务。 存储消息后,可使用 HTTP 或 HTTPS 通过经身份验证的调用从世界上的任何位置访问消息。 队列可以在存储帐户空间允许的情况下包含尽可能多的消息(可以存储数百万条)。 每条单独的消息最大可为 64 KB。 队列通常用于创建要异步处理的积压工作 (backlog)。

队列存储可以与 Azure Functions 等计算函数结合使用,以便在收到消息时执行操作。 例如,你希望在客户将表单上传到网站后执行操作。 你可以通过网站上的“提交”按钮触发队列存储的消息。 然后,可在收到消息后使用 Azure Functions 触发操作。

Azure 磁盘

Azure 磁盘存储或 Azure 托管磁盘是 Azure 管理的块级存储卷,用于 Azure VM。 从概念上讲,它们与物理磁盘相同,但它们是虚拟化的 - 可提供比物理磁盘更好的复原能力和可用性。 使用托管磁盘,你只需预配磁盘,Azure 会帮你完成其余的工作。

Azure 表

Azure 表存储可存储大量结构化数据。 Azure 表是一个 NoSQL 数据存储,接受来自 Azure 云内部和外部的通过验证的呼叫。 这样可以使用 Azure 表生成混合或多云解决方案,并使数据始终可用。 Azure 表最适合存储结构化非关系型数据。