确定所需的存储帐户数
组织通常有多个存储帐户,以便实现不同的要求。 在巧克力制造商的示例中,有一个存储帐户用于处理专用业务数据,还有一个存储帐户用于处理面向使用者的文件。 在本单元中,可了解由每种存储帐户控制的策略因素,这些因素能帮助你确定自己所需的帐户数量。
什么是 Azure 存储?
Azure 提供了多种方式来存储数据,包括多个数据库选项,例如 Azure SQL 数据库、Azure Cosmos DB 和 Azure 表存储。 Azure 提供了多种方式来存储和发送消息,例如 Azure 队列和事件中心。 你甚至可以使用像 Azure 文件和 Azure Blob 这样的服务存储松散文件。
Azure 将其中四个数据服务合并在“Azure 存储”名下。 这四项服务为:
- Azure Blob
- Azure 文件
- Azure 队列
- Azure 表
下图显示了 Azure 存储的元素。
这四个数据服务都是基于云的基元存储服务,并且常常在同一个应用程序中一起使用。
什么是存储帐户?
存储帐户是一个容器,汇集了一组 Azure 存储服务。 存储帐户中只能包含 Azure 存储中的数据服务,即 Azure Blob、Azure 文件、Azure 队列和 Azure 表。 下图显示了包含多个数据服务的存储帐户。
将多个数据服务合并在一个存储帐户中可以按组管理数据服务。 在创建帐户时所指定的设置或在创建后所更改的任何设置,都将应用于该存储帐户中的所有服务。 如果删除存储帐户,则会删除存储在该帐户中的所有数据。
存储帐户是一种 Azure 资源,包含在资源组中。 下图显示了一个包含多个资源组的 Azure 订阅,其中每个组都包含一个或多个存储帐户。
Azure SQL 和 Azure Cosmos DB 等其他 Azure 数据服务都作为独立的 Azure 资源进行托管,不得包含在存储帐户中。 下图显示了一种典型的布局:Blob、文件存储、队列和表都包含在存储帐户中,而其他服务却不在。
存储帐户设置
存储帐户定义了一个策略,该策略会应用于该帐户中的所有存储服务。 例如,可以指定所有包含的服务都存储在美国西部的数据中心、只能通过 HTTPS 访问并且费用计入销售部门的订阅。
存储帐户定义了以下设置:
订阅:存储帐户服务的计费 Azure 订阅。
位置:存储帐户中的服务的数据中心。
性能:确定存储帐户中可以包含的数据服务,以及用于存储数据的硬件磁盘类型。
- 标准:允许包含任何数据服务(blob、文件、队列和表)并使用磁盘驱动器。
- 高级版提供了更多用于存储数据的服务。 例如,将非结构化对象数据存储为块 blob 或追加 blob,以及用于存储和创建高级文件共享的专用文件存储。 这些存储帐户使用固态硬盘 (SSD) 进行存储。
复制:确定用于制作数据副本的策略,以防御硬件故障或自然灾难。 在与存储帐户关联的数据中心内,Azure 至少会自动维护三份数据副本。 最小复制称为本地冗余存储 (LRS),可针对硬件故障提供防护,但是如果出现让整个数据中心瘫痪的事件,则无法保护数据不受影响。 可以升级到其他选项之一(如异地冗余存储 (GRS)),以从全球的不同数据中心获取副本。
访问层:控制能够以多快的速度访问存储帐户中的 Blob。 热访问层针对存储频繁访问或修改的数据进行了优化,其访问速度比冷访问层更快,但存储成本也有所增加。 冷访问层针对存储不常访问或修改的数据进行了优化,存储成本较低。 热访问层仅适用于 blob,并且是新 blob 的默认值。
需要安全传输:这是一项安全功能,决定了受支持的访问协议。 如果启用此设置,必须使用 HTTPS 协议;否则,允许使用 HTTP 协议。
虚拟网络:一项安全功能,仅允许来自指定的虚拟网络的入站访问请求。
需要多少个存储帐户?
存储帐户代表位置、复制策略和订阅所有者等一系列设置的集合。 你要应用于数据的每组设置都需要一个存储帐户。 下图显示了两个存储帐户,它们在一个设置上有所不同;这一个不同之处就足以需要两个单独的存储帐户。
所需的存储帐户数量通常取决于数据多样性、成本敏感度以及对管理开销的容忍度。
数据多样性
组织经常会生成在多个维度上有所不同的数据。 例如,数据的使用位置、数据敏感度、支付数据账单的组等各不相同。这些矢量中存在的任何多样性都会产生多个存储帐户的需求。 我们来看两个示例:
是否有特定于某个国家/地区的数据? 如果有,出于性能或合规性原因,你可能希望将数据存储在该地区/国家的数据中心。 每个地理区域都需要一个存储帐户。
是否有一些数据是专有的,而还有一些数据是公用的? 如果是这样,可以为专有数据启用虚拟网络,并避免将其用于公共数据。 分离专有数据和公共数据需要单独的存储帐户。
一般情况下,多样性的提升意味着存储帐户数量的提升。
成本敏感度
存储帐户本身是不存在财务成本的,但是为该帐户选择的设置会影响帐户中包含的服务成本。 异地冗余存储的成本高于本地冗余存储。 高级性能和热访问层都会增加 Blob 的成本。
可以使用多个存储帐户来减少成本。 例如,可以将数据划分为关键数据和非关键数据。 可以将关键数据放入使用异地冗余存储的存储帐户,而将非关键数据放入另一个使用本地冗余存储的存储帐户。
对管理开销的容忍度
每个存储帐户都需要管理员投入时间和精力进行创建和维护。 对于要将数据添加到云存储的任何人而言,这也会增大复杂性。 具有管理员角色的每个人都需要了解每个存储帐户的用途,以便将新数据添加到正确的帐户。
存储帐户是一种强大的工具,有助于以最低的成本获取所需的性能和安全性。 典型的策略是从分析数据开始。 创建共享位置、计费和复制策略等特征的分区。 然后,为每个分区创建一个存储帐户。