微软Azure存储的完整使用教程

664 阅读16分钟

本文将帮助你了解微软Azure云中的Azure存储选项。微软Azure提供各种服务来存储数据,取决于它们的类型、性质、形状和大小。数据可以是任何东西,如图片、视频、文本文件、存储客户数据的数据库文件,或来自在线零售网站或YouTube等数字媒介的数据。有各种类型的数据,一个存储解决方案不能满足所有不同类型的数据存储要求。

在计算机之前,人类习惯于以纸张或实物纸质文件的形式保存和存储数据,并将其固定在一个安全的位置,以便进一步使用。计算机之后,在计算机的帮助下,存储数据已经开始以磁带、软盘、硬盘等形式数字化。随着时间的推移,数据的大小随着其新的形状和尺寸而增长,其存储解决方案也发生了很大的变化。我们从打孔卡到磁带机到硬盘驱动器到软盘到CD到DVD到SD卡,到USB驱动器到SSD驱动器到最后的云存储解决方案,整个过程都在进步。这种演变背后的原因是由于随着时间的推移,数据形状和尺寸的变化,现有的解决方案不足以解决新的尺寸和数据性质类型的要求。

根据即将到来的新要求和挑战,数据存储解决方案在未来也将不断发展。让我们了解微软Azure提供的各种存储解决方案,在Azure云环境中存储和处理数据。

Azure存储提供了在微软云环境中存储数据的各种选择。它带有加载功能,减少了存储管理和维护的复杂性。Azure存储通过存储多个数据副本来提供冗余,以便在任何硬件故障或底层系统出现问题的情况下保持其高度可用和安全。你还可以配置你的数据在本地(LRS)、整个数据中心(ZRS)或其他地理区域(GRS)进行复制,以保护它们免受自然或人为灾害的影响。

所有存储在Azure存储中的数据都经过加密,以确保数据得到保护。Azure存储在静止和传输中保护数据。任何人都不能访问存储在Azure存储中的数据,除非他们已经被授权访问该数据。

Azure存储可以根据增加的工作量或需求轻松地进行扩展。从维护前景来看,它是自我管理的;这意味着所有的维护和更新都将由微软Azure处理。你可以使用互联网从世界任何地方轻松访问Azure存储。它还支持几乎所有的编码语言,无论你的应用程序是使用.NET、JAVA还是PHP,它们都可以通过各自的API访问存储在Azure云存储中的数据。

Azure存储提供了以下存储选项,以根据其形状、大小和性质来存储客户的数据。

  • Azure BLOBs
  • 安卓文件
  • 安卓队列
  • 安哲表(Azure Tables
  • 阿苏磁盘

每个选项都是为了满足不同的要求。在Azure云中也有其他方法来存储数据,比如使用Azure SQL数据库、Azure cosmos DB等,但这些服务的底层核心存储解决方案也是建立在上述任何一种Azure存储选项上的。

让我们在下面的章节中分别讨论一下上述Azure存储方案。

Azure BLOB

BLOB是二进制大对象的意思。它被用来存储大量的非结构化数据,这些数据可能是图像、文本、文件、视频或所有这些类型的混合形式。它还被用作Azure数据湖分析解决方案的底层存储,以及Azure虚拟机的管理磁盘子系统。

Azure BLOB适用于。

  • 存储图像、文本、文件、视频或文档等非结构化数据
  • 需要直接从存储中访问非结构化数据
  • 流媒体视频或音频应用
  • 数据库备份、存档文件等。
  • Azure数据湖分析解决方案

Azure文件

这个Azure存储解决方案旨在解决网络文件共享需求。它是一个完全管理的文件共享解决方案,可以使用SMB协议从任何地方访问。我们可以将其用于云以及内部工作负载。

Azure文件适用于。

  • 各种应用程序使用的文件共享
  • 可被各种虚拟机访问的网络文件共享
  • 取代企业内部的文件共享
  • 提升和转移应用程序的迁移
  • 将任何文件保存在一个集中的位置,可以被其他各种机器访问
  • 放置日志文件、指标文件和崩溃转储文件,以后可以使用另一台机器访问和分析这些文件

Azure队列

它是为解决消息传递要求而设计的。它是一种消息传递存储,用于存储可在应用组件之间使用的大量消息传递数据。这种消息传递数据可以使用其认证凭证从任何地方使用。

Azure表

这种类型的Azure存储用于保存NoSQL工作负载,这些工作负载被归类为半结构化数据。它适用于Azure Cosmos DB服务,这是微软Azure云的一个NoSQL产品。Azure表可用于存储网络应用中使用的大型数据集。

Azure磁盘

Azure磁盘的设计是为了满足虚拟机的要求。它是一个虚拟硬盘,与你用于内部机器的硬盘相同。数据可以存储在Azure磁盘上,并可以从该虚拟机上访问。存储在Azure磁盘中的数据不能在连接的虚拟机之外访问。这也被普遍称为Azure管理的磁盘。Azure磁盘使用Azure BLOB作为底层存储解决方案,所以它可以被归入Azure BLOB存储解决方案选项。

Azure磁盘适用于。

  • Azure虚拟机
  • 存储SQL Server工作负载的数据库文件
  • IaaS机器的数据驱动器

选择正确的数据存储解决方案

我们应该仔细选择一个数据存储解决方案,它可以帮助我们解决方便的访问和兼容数据的性质。在任何存储解决方案中存储数据并不是我们唯一的活动,我们还需要长期访问这些数据,以满足各种应用逻辑和业务需求。在选择数据存储解决方案时,我们应该确保数据能够被顺利地访问,而不会出现任何性能问题。

在选择任何存储解决方案之前,你必须了解数据的性质,如它的数据分类和它的用途,如你将如何使用这些数据。一旦你清楚了数据分类、用途和可接受的性能要求,那么你就会很容易选择一个最佳的存储解决方案。

让我们讨论一下如何理解数据的性质。

理解你的数据分类

选择正确的Azure存储解决方案的第一步就是要了解你的数据。它的类型、大小、性质和增长等。它是图像、视频、文本文件,还是所有这些的混合体,或者你想为你的应用程序存储数据,该应用程序将被托管到网上销售各种产品,或者你想为你的视频流网站存储数据,等等?可能有各种要求,你想保存数据。你不能有一个解决方案来满足所有这些要求。你需要为每个数据需求提供不同的存储解决方案。为了更好地理解它,我们可以将所有类型的数据分为以下三类。

  • 结构化数据
  • 半结构化数据
  • 非结构化数据

顾名思义,结构化数据是以特定的形式进行适当的结构化,这样你就可以轻松地访问它们,或在你需要这些数据的任何地方使用应用程序。这个类别的数据是以模式格式组织的,有定义好的字段和属性,这对经常改变来说有点复杂。RDBMS数据库系统,如SQL Server,Oracle,DB2都属于结构数据类别。RDBMS代表关系数据库管理系统,在该系统下,数据被组织成表、行和列的形式,一个表和另一个表之间的关系使用一个关键列,使他们的访问非常容易。我们使用查询语言SQL(结构化查询语言)来访问这些数据库中创建的表格的数据。结构数据适用于需要维护ACID属性的应用,如银行应用、订票系统、ERP应用等。

最初,数据只被用来分为两类,结构化数据和非结构化数据。但后来,随着时间的推移,数据大量增长,数字技术的发展进一步放大了现有数据库系统的挑战。这迫使IT专业人员思考他们现有的数据处理,然后演变出这种新的分类,即半结构化数据。半结构化数据分类解决了结构化数据解决方案所不能解决的所有问题和挑战。这种类型的分类也被普遍称为NoSQL数据库。它的意思是不仅仅是SQL。

半结构化数据以非关系格式存储数据,它不像结构化数据那样有组织,这就是为什么SQL语言不适合访问其数据。数据在半结构化类别中以特定标签的键值格式存储,而不是以表、行和列的格式。基于标签的键值格式提供了灵活性,可以根据新的要求轻松添加新的字段,你不需要因为未来可能需要添加新字段的要求而更新旧数据。我们可以使用XML、JSON或YAML等序列化语言访问这些数据。

接下来,非结构化数据不像结构化数据那样遵循特定的模式、定义或数据模型。如果你的数据是以文本、图像、视频、文件或所有这些数据格式的混合形式存在,你可以将你的数据归入非结构化数据

现在,你已经确定了数据的性质。下一步是确定你的数据的用途,我将在下面的章节中介绍。

数据的用途

现在,了解你的数据的用途。你的数据的主要目的是什么?你想把你的数据用于销售产品的在线应用,或者你想把它用于在线流媒体网站,或者你只是想保存数据以保护数据。你可以通过评估以下问题来获得这个问题的答案。

  • 你的数据是被一个应用程序使用,还是你将直接从Azure存储中访问数据?
  • 应用程序是否需要对存储在数据库中的数据进行DML操作?
  • 你是否需要JOIN表并使用其ID访问字段?
  • 你的应用程序是否需要为数据库事务保持ACID属性?
  • 应用程序将如何频繁地访问数据?
  • 访问数据时的性能预期是什么?
  • 你是否需要文件共享来把你的文件放在一个集中的地方?

你将通过评估上述问题的答案来了解你的数据用途。

我将使用一个案例研究来展示我将如何为我们的应用程序选择不同的存储解决方案。

选择正确的Azure存储类型的用例

让我们考虑一个例子,利用这个例子我们将确定哪种Azure存储解决方案适合我们的要求。

假设你正在开发一个在线零售门户网站。当客户在你的门户网站上搜索和购买产品时,你将需要存储和访问各种数据集。如果有人在搜索一个特定的产品,那么就会出现所有卖家的产品列表,以及其可用性、图片、视频和反馈评级,而在购买时,客户必须在线提供财务数据来购买该产品。在这里,我们可以看到在这个过程中涉及多个数据集,如具体的产品目录、产品库存、图片、视频、销售数据、共享文件和报告等,在决定其存储解决方案之前,我们需要评估这些数据集。

数据集

数据分类

用途

存储解决方案

产品目录和库存

半结构化数据

数据应该是结构化的,因为产品目录和库存必须即时更新以反映其他用户的剩余产品。这意味着如果一个产品被售出,库存必须以减少的数量进行更新。读取和写入操作较多。

在结构化数据或关系型数据的情况下,如果你想在未来增加新的产品线,这将是很复杂的。所以,对于这个要求,最好的选择是半结构化的。

Azure Cosmos DB,我们可以考虑Azure SQL数据库或Azure Tables,但这两个会比Azure Cosmos DB有一些限制。

产品照片、视频

非结构化数据

这些数据不会被客户更新或修改,但这些产品的可访问性必须是快速的,以便在产品搜索期间为客户提供服务。

Azure BLOB存储

销售数据

结构化数据

这些数据的使用主要是基于其历史数据的分析目的。

Azure SQL数据库

文件共享

非结构化数据

需要创建网络文件共享,以便业务分析人员可以使用和访问这些文件,用于集中的文件和分析报告。

Azure文件共享

创建一个Azure存储账户

我已经探讨了Azure存储的概况,以及如何在Azure云中选择合适的存储解决方案,在上述章节中。现在,我将向你展示如何创建一个存储账户,在这个账户下你可以使用Azure门户配置你所选择的存储解决方案。存储账户的作用是作为一个容器来存储所有的Azure存储服务,这些服务是在一个特定的存储账户下创建的。

登录到Azure门户

在搜索控制台中输入 "存储账户",一旦该选项出现在搜索下拉菜单中,就点击它。点击存储账户后,将出现以下屏幕。

Launch storage accounts window to create Azure storage account

点击上面屏幕上暗红色矩形中的**"+创建 "**选项。你会看到一个 "创建存储账户"的表格出现,我们需要在其中填写所有需要的细节。

在这个表格中,有6个标签。

第一个标签基本有两个部分。在这里,你需要选择项目相关的细节,如你想在其中创建这个存储,以及它的资源组名称和实例相关的细节,如存储账户的名称,你想创建这个存储账户的区域,你是否需要性能下的高级或标准存储以及它的冗余设置。

  • 项目详情
    • 订阅
    • 资源组名称
  • 实例详情
    • 存储账户名称
    • 区域
    • 性能
    • 冗余度

请看下面这个标签的屏幕截图。如果你想创建一个传统的存储账户类型Gen P1,那么你可以点击存储账户名称上面的链接。它将给你一个选择遗留存储类型的选项。

Create a storage account

第二个选项卡是高级 ,在这里我们必须配置Azure存储的类型,我们必须创建它的安全配置。

  • 安全性
    • 要求对REST API操作进行安全传输
    • 启用基础设施加密
    • 启用BLOB公共访问
    • 启用存储账户密钥访问
    • 默认为Azure门户中的Azure活动目录认证
    • 最小TLS版本
  • 数据湖存储第二代
    • 启用分层命名空间
  • BLOB存储
    • 启用网络文件共享
    • 允许跨租户复制
    • 访问层级
  • 蔚蓝文件
    • 启用大型文件共享
  • 表和队列
    • 启用对客户管理的密钥的支持

请看下面的屏幕截图。

Fill details

第三个标签是网络,我们需要配置网络连接和网络路由设置。

Fill details

第四个选项卡是数据保护,我们必须选择恢复集来保护数据不被意外删除,并选择跟踪来管理版本。

Fill data protection details

第四个选项卡是标签,最后是 "审查+创建"选项卡,在创建这个存储账户之前验证我们的所有设置。

Verify details

我建议你仔细选择上述所有设置中的任何选项。确保理解你为你的配置所选择的东西。几乎所有的设置都是不言自明的。我没有做任何改动,在创建这个存储账户时保持所有默认配置。

Storage account created

如上图所示,存储账户mdsstorage1已经被创建。你可以点击上图中的 "转到资源"标签,切换到这个存储概述仪表板页面。

我们可以通过访问下图的数据存储部分,从新创建的存储账户创建任何数据存储选项。根据你的要求点击任何选项,在这个存储账户中创建该类型的Azure存储。你可以在同一个存储账户中创建多个或混合数据存储服务。

Data Storage options

总结

微软Azure提供多种选择来存储数据。Azure存储是微软的一个云解决方案,以解决数据存储的要求。我在这篇文章中解释了Azure存储、它的特点以及它的各种类型。我还介绍了如何为你的工作负载选择正确的存储解决方案。首先,我们需要确定数据的性质,然后确定其用途,如我们将如何使用这些数据。这将有助于我们确定正确的数据存储解决方案。