高级块 Blob 存储帐户

高级块 Blob 存储帐户通过高性能硬件来提供数据。 数据存储在已针对低延迟进行优化的固态硬盘 (SSD) 上。 与传统的机械硬盘相比,SSD 提供更高的吞吐量。 文件传输速度要快得多,因为数据是存储在可立即访问的内存芯片上。 驱动器的所有部件都可同时访问。 与此相反,硬盘驱动器 (HDD) 的性能取决于数据与读/写磁头的接近程度。

高性能工作负荷

高级块 blob 存储帐户非常适合于需要快速且一致的响应时间和/或每秒输入输出操作 (IOP) 的那些工作负荷。 示例工作负荷包括:

  • 交互式工作负荷。 高度交互的应用程序和实时应用程序必须快速写入数据。 电子商务和映射应用程序通常需要即时更新和用户反馈。 例如,在电子商务应用程序中,不经常查看的商品可能不会缓存。 但是,这些商品必须可按需立即向客户显示。 交互式编辑或多玩家在线游戏应用程序通过提供实时更新来维护质量体验。

  • IoT/流式处理分析。 在 IoT 方案中,每秒可能就会将大量的小规模写入操作推送到云中。 可能会提取大量的数据,将其聚合进行分析,然后立即将其删除。 高级块 Blob 存储的大规模引入功能使之能够为此类工作负荷带来效益。

  • 人工智能/机器学习 (AI/ML) 。 AI/ML 可以解决不同数据类型(例如视觉对象、语音和文本)的使用和处理。 这种高性能计算类型的工作负荷可以处理大量的、需要快速做出响应并在短时间内引入以进行高效数据分析的数据。

成本效益

与标准的常规用途 v2 帐户相比,高级块 blob 存储帐户的存储成本较高,但事务成本较低。 如果你的应用程序和工作负荷执行大量事务,则高级块 blob 存储可能更经济高效,尤其是在写入工作负荷较大时。

在大多数情况下,每 TB 每秒 (TPS/TB) 执行超过 35 - 40 个事务的工作负荷都非常适用于这种类型的帐户。 例如,如果你的工作负荷在一个月内执行了 5 亿次读取操作和 1 亿次写入操作,你可以按下面的方式计算 TPS/TB:

  • 每秒写入事务数 = 100,000,000 / (30 x 24 x 60 x 60) = 39(舍入为最接近的整数)

  • 每秒读取事务数 = 500,000,000 / (30 x 24 x 60 x 60) = 193(舍入为最接近的整数)

  • 每秒总事务数 = 193 + 39 = 232

  • 假设你的帐户平均有 5TB 的数据,则 TPS/TB 将为 230 / 5 = 46。

注意

价格因操作和区域而异。 请使用 Azure 定价计算器 来比较标准和高级性能层的定价。

下表展示了高级块 blob 存储帐户的成本效益。 此表中的数字基于启用了 Azure Data Lake Storage Gen2 的高级块 blob 存储帐户(也称为 Azure Data Lake Storage 的高级层)。 每列表示一个月中的事务数。 每行表示读取事务的事务百分比。 表中的每个单元格显示与读取事务百分比和执行的事务数相关的成本降低百分比。

例如,假设你的帐户位于“中国东部 2”区域,帐户中的事务数超过 9000 万,且其中 70% 的事务是读取事务,则高级块 blob 存储帐户更具成本效益。

Performance table

注意

如果希望根据每 TB 数据的每秒事务数评估成本效益,则可以使用表底部显示的列标题。

高级应用场景

本节包含一些实际示例,展示了我们的一些 Azure 存储合作伙伴是如何使用高级块 blob 存储的。 其中一些合作伙伴还启用了 Azure Data Lake Storage Gen2,这会引入分层文件结构,以便在某些情况下进一步提高事务性能。

提示

如果你有分析用例,强烈建议将 Azure Data Lake Storage Gen2 与高级块 blob 存储帐户一起使用。

本部分包含以下示例:

快速水化数据

高级块 blob 存储可以帮助你快速水化或启动环境。 在银行业等行业中,某些法规要求可能要求公司定期拆解其环境,然后从头开始恢复。 用于水化其环境的数据必须快速加载。

我们的一些合作伙伴每周都会将 MongoDB 实例副本存储到高级块 blob 存储帐户中。 然后系统会被分解。 若要再次快速恢复系统,需要读取并加载 MongoDB 实例的最新副本。 为了进行审核,以前的副本将在云存储中保留一段时间。

交互式编辑应用程序

在多个用户编辑同一内容的应用程序中,更新速度对于流畅的用户体验变得至关重要。

我们的一些合作伙伴开发了视频编辑软件。 用户对视频所做的任何更新都会立即对其他用户可见。 用户可以专注于自己的任务,而不是等待内容更新出现。 与高级块 blob 存储关联的低延迟有助于创建这种无缝的协作体验。

数据可视化软件

如果呈现速度很快的话,用户可以通过数据可视化软件大大提高工作效率。

我们已经看到,测绘行业的公司使用测绘编辑器来检测地图的问题。 这些编辑器使用从客户全球定位系统 (GPS) 数据生成的数据。 为了创建地图重叠层,编辑软件会通过快速执行关键查找来呈现地图的小部分。

在一个案例中,在使用高级块 blob 存储之前,一个合作伙伴使用了由标准通用 v2 存储提供支持的 HBase 群集。 但是,使大型群集持续运行的成本是很高昂的。 这个合作伙伴决定放弃此体系结构,改为使用高级块 blob 存储来实现快速关键查找。 为创建重叠层,他们使用了 REST API 来呈现与 GPS 坐标对应的图块。 高级块 blob 存储帐户为合作伙伴提供了一个经济高效的解决方案,使延迟更具可预测性。

电子商务业务

除了支持其面向客户的商店,电子商务企业还可以向内部团队提供数据仓库和分析解决方案。 我们已经看到,合作伙伴使用高级块 blob 存储帐户来满足这些数据仓库和分析解决方案的低延迟要求。 在一个案例中,目录团队需要为与产品/服务、定价、发货方式、供应商、库存和后勤相关的数据维护一个数据仓库应用程序。 为多个用例查询、扫描、提取和挖掘信息。 团队对此数据运行分析,向各个营销团队提供相关见解和信息。

交互式分析

几乎每个行业都需要企业以交互方式查询和分析数据。

数据科学家、分析师和开发人员可以通过对存储在高级块 blob 存储帐户中的数据运行查询,更快地获得时间敏感型见解。 当这些仪表板中显示的数据是来自高级块 blob 存储帐户而不是标准的常规用途 v2 帐户时,管理人员可以更快地加载其仪表板。

在一个方案中,分析师需要快速分析来自数百万台设备的遥测数据,以便更好地了解产品的使用情况,并做出产品发布决策。 将数据存储在 SQL 数据库中的成本是很高昂的。 为了降低成本并增加可查询的外围应用,他们使用一个启用了 Azure Data Lake Storage Gen2 的高级块 blob 存储帐户,并在 Presto 和 Spark 中执行计算以从 Hive 表生成见解。 这样,即使是很少被访问的数据,也具有经常被访问数据的所有相同计算能力。

为了缩小 SQL 的亚秒级性能和 Presto 对外部存储的每秒输入输出操作 (IOPS) 之间的差距,必须重视一致性和速度,尤其是在处理小型优化行列 (ORC) 文件时。 将高级块 blob 存储帐户与 Data Lake Storage Gen2 一起使用时,在此场景中重复演示了对标准通用 v2 帐户的 3 倍性能改进。 查询的执行速度快到让人感觉是在本地计算机上执行。

在另一个案例中,一个合作伙伴需要存储和查询从安全解决方案生成的日志。 此日志是使用 Databricks 生成的,并存储在启用了 Data Lake Storage Gen2 的高级块 blob 存储帐户中。 最终用户使用 Azure 数据资源管理器查询和搜索此数据。 他们选择这种类型的帐户来提高稳定性,并提高交互式查询的性能。 他们还将生命周期管理 Delete Action 策略设置为几天,这样有助于降低成本。 此策略可防止它们永久保留数据。 相反,一旦不再需要数据,就可以将其删除。

数据处理管道

几乎在每个行业中,企业都需要处理数据。 来自多个源的原始数据需要清理和处理,以便在帮助用户做出决策的数据仪表板等工具中对下游消费变得有用。

尽管在处理数据时,处理速度并非总是最需要关注的问题,但某些行业需要这样做。 例如,金融服务行业的公司通常需要以尽可能快的方式可靠地处理数据。 为了检测欺诈行为,这些公司必须处理来自各种来源的输入,识别客户面临的风险并快速采取措施。

在某些情况下,我们发现合作伙伴使用多个标准存储帐户来存储来自各种源的数据。 然后,其中一些数据会移动到已启用 Data Lake Storage 的高级块 blob 存储帐户中,在其中,数据处理应用程序经常读取新到达的数据。 此帐户中的目录列表调用的速度要快得多,而且执行方式要比在标准的常规用途 v2 帐户中执行的方式更加一致。 该帐户提供的速度和一致性确保了新数据总是会尽快提供给下游处理系统。 这可以帮助他们捕获潜在安全风险,并及时采取措施。

物联网 (IoT)

IoT 已成为我们日常生活的一个重要部分。 IoT 可用于跟踪汽车运动、控制灯光和监视我们的运行状况。 它在各行业也有所应用。 例如,公司使用 IoT 来实现其智能工厂项目、提高农业产量,并对钻油平台进行预测性维护。 高级块 blob 存储帐户为这些场景增加了重要价值。

我们在采矿业有合作伙伴。 他们结合使用启用了 Data Lake Storage Gen2 的高级块 blob 存储帐户和 HDInsight (Hbase),引入来自多种采矿设备的时序传感器数据,其中包含非常费力的负载配置文件。 高级块 blob 存储已帮助满足他们对高采样速率引入的需求。 这也是一种经济高效的方法,因为高级块 blob 存储对执行大量写入事务的工作负荷进行了成本优化,而此工作负荷会生成大量的小型写入事务(每秒数万次)。

机器学习

在许多场景下,必须处理大量数据以训练机器学习模型。 为了完成这种处理过程,计算机必须长时间运行。 与存储成本相比,计算成本通常在帐单中所占的比例要大得多,因此减少计算机运行的时间可能会大幅降低成本。 使用高级块 blob 存储获得的低延迟可大大缩短这个时间并降低成本。

我们的合作伙伴将数据处理管道部署到 Spark 群集,他们在其中运行机器学习训练和推理。 他们将 Spark 表(parquet 文件)和检查点存储到高级块 blob 存储帐户中。 Spark 检查点可创建大量嵌套的文件和文件夹。 他们的目录列表操作速度很快,因为他们将高级块 blob 存储帐户的低延迟与 Data Lake Storage Gen2 提供的分层数据结构相结合。

我们在半导体行业的合作伙伴也有将 IoT 与机器学习结合使用的用例。 连接到生产车间中的计算机的 IoT 设备拍摄半导体片的图像,并将其发送到帐户。 使用深度学习推理,系统可以在生产中出现问题时通知本地计算机,确定是否需要采取措施。 它们必须能够快速可靠地加载和处理图像。 使用启用了 Data Lake Storage Gen2 的高级块 blob 存储帐户有助于实现此功能。

实时流式处理分析

为了以近实时的速度支持交互分析,系统必须引入并处理大量数据,然后将数据提供给下游系统使用。 使用启用了 Data Lake Storage Gen2 的高级块 blob 存储帐户,这些类型的应用场景就有了完美的解决方案。

数据将上传到多个高级性能 Blob 存储帐户。 每个帐户都连接到一个事件网格和事件中心资源。 ADX 检索 Blob 存储中的数据,执行任何所需的转换以规范化处理数据(例如:解压缩 zip 文件或从 JSON 转换为 CSV)。 然后,可通过 ADX 和 Grafana 中显示的仪表板查询数据。 Grafana 仪表板供操作员、管理人员和其他用户使用。 客户将其原始日志保留在高级性能存储中,或将其复制到常规用途 v2 存储帐户,在该帐户下,可以将这些日志存储在热访问层或冷访问层,以便长期保留并供将来分析。

开始使用高级版

首先,请检查以确保你最喜欢的 Blob 存储功能与高级块 blob 存储帐户兼容,然后创建帐户。

注意

不能将现有的标准常规用途 v2 存储帐户转换为高级块 blob 存储帐户。 要迁移到高级块 blob 存储帐户,必须创建一个高级块 Blob 帐户,然后将数据迁移到新帐户。

检查 Blob 存储功能的兼容性

一些 Blob 存储功能尚未得到支持,或在高级块 blob 存储帐户中得到部分支持。 在选择高级块 blob 存储帐户之前,请查看 Azure 存储帐户中的 Blob 存储功能支持一文,以确定帐户是否完全支持你要使用的功能。 功能支持始终在扩展,因此请确保定期查看本文中的更新。

新建存储帐户

若要创建高级块 blob 存储帐户,请确保在创建帐户时选择“高级”性能选项和“块 blob”帐户类型。

Create blockblobstorageacount

注意

一些 Blob 存储功能尚未得到支持,或在高级块 blob 存储帐户中得到部分支持。 在选择高级块 blob 存储帐户之前,请查看 Azure 存储帐户中的 Blob 存储功能支持一文,以确定帐户是否完全支持你要使用的功能。 功能支持始终在扩展,因此请确保定期查看本文中的更新。

如果你的存储帐户将用于分析,强烈建议结合使用 Azure Data Lake Storage Gen2 和高级块 blob 存储帐户。 若要解锁 Azure Data Lake Storage Gen2 功能,请在“创建存储帐户”页的“高级”选项卡中启用“分层命名空间”设置。

下图显示了“创建存储帐户”页中的此设置。

Hierarchical namespace setting

有关完整的指南,请参阅创建存储帐户

请参阅