了解 Azure Blob 存储
Azure Blob 存储是一种服务,可用于在云中存储海量非结构化数据作为二进制大型对象(或 blob)。 Blob 是一种以针对基于云的存储进行优化的格式存储数据文件的有效方式,应用程序可以使用 Azure Blob 存储 API 读取和写入这些文件。
在 Azure 存储帐户中,将 blob 存储在容器中。 容器提供一种方便的方式将相关 blob 分组在一起。 可在容器级别控制哪些用户可以在容器内读取和写入 blob。
在容器中,你可以采用虚拟文件夹层次结构组织 blob(类似于磁盘上文件系统中的文件)。 但是,默认情况下,这些文件夹只是一种在 Blob 名称中使用“/”字符将 Blob 组织到命名空间中的方法。 文件夹是纯虚拟的,不能执行文件夹级别操作来控制访问或执行批量操作。
Azure Blob 存储支持三种不同类型的 blob:
- 块 blob。 块 blob 作为一组块进行处理。 每个块的大小可以不同,最大为 4000 MiB。 一个块 blob 最多可包含 190.7 TiB(4000 MiB X 50,000 块),最大超过 5000 MiB。 块是可以作为单个单元进行读取或写入的最小数据量。 块 blob 最适合用于存储不常更改的离散的大型二进制对象。
- 页 blob。 页 blob 作为固定大小 512 字节页的集合进行组织。 页 blob 经过优化,可支持随机读取和写入操作;如果需要,可以提取并存储单个页的数据。 页 blob 可以最多容纳 8 TB 的数据。 Azure 使用页 blob 为虚拟机实现虚拟磁盘存储。
- 追加 blob。 追加 blob 是为支持追加操作而进行了优化的块 blob。 只能将块添加到追加 blob 的末尾;不支持更新或删除现有块。 每个块的大小可以不同,最大为 4 MB。 追加 blob 的最大大小刚好超过 195 GB。
Blob 存储提供三个访问层,这可帮助平衡访问延迟和存储成本:
- 热访问层是默认设置。 对于经常访问的 blob,请使用此层。 blob 数据存储在高性能媒体上。
- 与热访问层相比,冷访问层的性能较低,产生的存储成本较少。 对于不常访问的数据,请使用冷访问层。 对于新创建的 blob 而言,常常在开始时受到频繁访问,但随着时间推移,访问频率会降低。 在这些情况下,可以在热访问层中创建 blob,但以后将它迁移到冷访问层。 可以将 blob 从冷访问层迁移回热访问层。
- 存档访问层提供最低的存储成本,但是延迟会增加。 存档访问层旨在用于不得丢失,但只是很少时候才需要的历史数据。 存档访问层中的 blob 实际上以脱机状态存储。 热访问层和冷访问层的典型读取延迟是数毫秒,但对于存档访问层,数据可能需要数小时才能使用。 若要从存档访问层检索 blob,必须将访问层更改为热或冷。 blob 随后会解除冻结。 仅当解除冻结过程完成后,才能读取 blob。
可以在存储帐户中为 blob 创建生命周期管理策略。 生命周期管理策略可以随着 blob 老化及使用频率降低,自动将它从热移到冷访问层,然后移动到存档访问层(策略基于自修改以来的天数)。 生命周期管理策略还可以进行安排,以删除过时的 blob。