了解 Azure 存储






4.33/5 (3投票s)
Azure 为不同的场景提供了不同的数据存储选项。
引言
每个应用程序,无论是在本地还是在云端,都需要数据持久化以便以后检索。部署在 Azure 中的应用程序也需要持久化和检索数据。Azure 提供了几种不同的数据持久化选项。您在 Azure 中可用的数据持久化选项包括:
- SQL Server 数据库
- Azure SQL
- CosmosDB
- Azure MySQL
这些都是数据库,提供更多功能,如分析、OLTP 和高级查询功能。如果您不需要这些高级功能,Azure 提供名为 Azure 存储的托管数据持久化服务。
它包括高可用性和可扩展的云服务。高可用性意味着您的数据即使在硬件故障和数据损坏等异常情况下也能可用。
存储的数据是安全的,因为它已加密,并且可以通过 HTTP/HTTPS 协议、不同语言的 SDK(.NET、Java 等)以及 REST 等多种方式在全球范围内访问。
它根据具体的数据存储需求提供不同类型的服务。假设您想存储非结构化数据,如图像和视频,并想直接将它们提供给浏览器。在这种情况下,您将使用 blob 存储。Blob 存储是二进制大对象 (binary large objects) 的缩写。您可以将 blob 视为非结构化文件,如图像、虚拟机磁盘、日志和备份。
要存储不同类型的非结构化数据,会使用不同类型的 blob:
- 块 blob (Block blobs):用于存储音频和视频文件,因为它们针对顺序访问进行了优化。
- 页 blob (Page blobs):用于存储虚拟机磁盘(*.VHD 文件),因为它们针对随机访问进行了优化。
- 追加 blob (Append blobs):用于日志,因为它们不适合修改。
Blob 存储在容器中,容器就像文件系统中的文件夹一样,是一种组织元素。
Azure 存储还提供了一些其他解决方案:
- Azure 文件 (Azure files):这是一个用于存储文件和目录的网络文件共享。您可以将其视为您组织中用于存储常用文件的文件共享。例如,您可能使用过像 \\folder1\file 这样的命令来访问 Windows 上的文件。文件共享为存储可供不同用户使用的常用文件提供了类似的功能。
文件使用 SMB 协议(2.1 或 3)进行访问,并且可以挂载。 - 表 (Table):表是一个键/值数据存储,可以存储任意数量的实体。实体具有属性,并且表中的每个实体可以具有不同的属性。这使得表能够灵活地存储不同类型的数据。
每个表都有一个 URL,可以使用此 URL 和 odata 协议进行访问。除了用户提供的属性外,每个实体都有行键 (row key) 和分区键 (partition key)。分区在表中用于负载均衡。
一个分区包含一系列实体。PartitionKey
和RowKey
在表中唯一地标识实体。 - 队列 (Queue):用于存储可以通过 HTTP/HTTPS 协议访问的消息。单条消息最大可为 64KB。
各种存储服务通过存储帐户进行管理。存储帐户是不同存储服务和 Azure 存储数据的容器。
您可以根据需求创建不同类型的存储帐户,例如:
- 通用 v1/v2 帐户:这些帐户类型提供所有服务。因此,您可以使用此帐户的 Blob、文件、队列、表或磁盘存储。v2 帐户支持最新的 Azure 存储功能。
v1 和 v2 之间的区别在于 v2 支持区域冗余存储。 - 块 blob 帐户 (Block blob accounts):支持的服务仅限于块 blob 和追加 blob。它仅支持 LRS,不支持任何访问层。
- Blob 帐户 (Blob accounts):支持的服务仅限于块 blob 和追加 blob。它支持 LRS、GRS、RA-GRS。支持的层包括热 (Hot)、冷 (Cool)、归档 (Archive)。
可以通过终结点访问存储帐户中的数据。终结点包括帐户名称和服务名称。例如,名为 simplestorage 的存储帐户中文件存储服务的终结点将是:
http://simplestorage .file.core.windows.net
我们可以使用存储资源管理器 (Storage explorer) 查看和操作存储帐户中的数据。可以通过 Azure 门户访问它。还有一个基于 Windows 的存储资源管理器,您可以通过它连接到 Azure 中的存储帐户。
如果您通过安装程序在计算机上安装该应用程序,您将看到类似的用戶界面。
创建存储帐户时的一个重要因素是数据复制策略。复制是指将数据复制到不同的数据中心和区域。
这使得数据具有高可用性。存储的冗余选项包括:
- 本地冗余存储 (Locally redundant storage or LRS):数据的副本在同一个数据中心内复制。
- 区域冗余存储 (Zone-redundant storage or ZRS):数据的副本在同一区域内的不同数据中心之间复制。
- 地理冗余存储 (Geo-redundant storage or GRS):数据的副本在不同区域之间复制。
- 读访问地理冗余存储 (Read-access geo-redundant storage or RA-GRS):数据的副本在不同区域之间复制,并且您可以访问这些复制的副本。
与使用数据库相比,Azure 存储的灵活性较低。为了获得更大的灵活性,您在 Azure 中还有其他选项,例如 Azure SQL 和 CosmosDB。
历史
- 2019 年 6 月 20 日:初始版本