赞
踩
在公共云上构建应用程序时,您将无所适从的存储空间。 您拥有SQL , NoSQL , 图形数据库 , 文档数据库 ,甚至是老式的文件系统。 选择正确的存储通常是一个简单的决定,因为熟悉的数据库和文件系统只需在控制台中单击即可。
您对存储的大部分想法是由本地环境决定的,您需要在其中考虑基础架构和用于应用程序的服务器。 在那里,许可经济学通常是使用现有的SQL存储,使用相同的数据库保存从产品数据到图像甚至是视频的所有内容来决定的。
[使用云中的数据需要新的思维。 InfoWorld向您展示了方式: Cosmos DB如何确保全球云中的数据一致性 。 | 通过InfoWorld的《 云计算报告》时事通讯了解云 。 ]
但是,随着公共云的出现以及诸如Azure之类的服务的出现,聚合存储不再是必需的。 您可以选择使用特定的优化存储来处理一种类型的内容,并且处理得很好,而不是为所有代码存储一个文件系统。 这种过渡的一部分是由NoSQL存储区主导的,它具有快速的键值查找功能,并且不需要复杂的关系结构。 借助云服务,经济因素推动了用户和提供商的技术选择,过去的整体结构已经分解并作为单独的服务交付。
追溯到那时,我是一个早期的照片共享站点的建筑师。 我们围绕大型分布式文件系统构建了该系统,将用户照片存储在混合了旋转磁盘和快速访问磁带的分层存储中。 该模型今天不起作用。 现代系统的规模将很快使文件结构不堪重负。 如今,通过将存储分为特定于任务的模块,您可以构建可快速扩展的系统,因为它们与底层硬件无关。
这就是Blob(二进制大对象存储)的出现之处。最初是一种在关系数据库中存储二进制内容的技术,独立的Blob存储是Microsoft Azure数据服务原始发行版的一部分。 为了支持早期的云原生应用程序,Azure的Blob支持旨在承载移动和桌面应用程序内容。 该初始版本已显着增长,增加了对分层存储和不同Blob类型的支持。
开发人员对存储所做的大部分工作都集中在处理非结构化二进制数据上。 Azure的Blob存储是一种处理这种情况的方法,而没有文件系统的开销。 这是在应用程序中处理二进制数据的快速简便的方法,此外,它还与Azure的Data Lake分析工具集成在一起,使您可以洞悉用户或设备存储的内容以及如何使用它们。
像所有Azure服务一样,blob存储需要成为资源组的一部分,并与用于计费的帐户相关联。 您从一个通用的Azure存储帐户开始,该帐户托管了所有Azure的核心存储服务。 通过Azure门户或Azure命令行界面创建帐户后,就可以配置Blob存储了 。
Azure使用分层模型来管理Blob。 您首先需要一个容器来托管您的Blob。 同样,您可以使用Azure门户或命令行界面按照标准Azure命名规则创建容器。 存储帐户可以托管多个容器,因此您可以为不同类型的内容或用于处理特定用户的内容创建单独的容器。 帐户中可以容纳多少个容器,或者一个容器中可以存储多少个斑点,没有任何限制。
一旦第一个容器就位,就可以接收数据了。 您可以通过Azure门户上传初始Blob,并且可以使用相同的工具查看并下载它。
支持三种类型的Blob:块,附加和页面Blob。
如果不将数据用于应用程序生成的数据,则将数据放入Blob存储可能会很复杂。 尽管在Azure门户中有用于上传blob内容的工具,但一次最多只能上传一个文件。 相反,您应该使用适用于Linux和Windows的AzCopy命令行工具之类的工具 。 它可以将数据从本地,Azure存储帐户中的Blob容器之间甚至不同存储帐户之间的Blob复制到Blob。 如果您使用Linux作为开发平台,则Blobfuse会将Azure blob存储安装为远程文件系统,从而使您可以通过VPN复制数据。
如果要加载大量数据,则网络带宽可能是一个限制因素。 可以使用Azure的数据框服务将数据复制到一组托管磁盘上,而不是使用VPN。 一旦运回Microsoft,数据盒中的内容就会以blob的形式加载到您的存储中,以备使用。 类似的Azure导入/导出服务使用您自己的硬盘驱动器进行数据传输。
Microsoft为您提供了大量用于编写使用Azure Blob存储的代码的工具。 有用于大多数流行语言和框架的SDK,以及用于常规访问的REST API。 像所有Azure客户端代码一样,您首先要通过Azure进行身份验证。 连接后,您可以创建一个新容器,也可以将blob内容添加到现有容器中 。 SDK中的API旨在异步使用,以处理来自移动设备的任何延迟。
SDK有限制。 例如,一次最多只能检索5000个Blob ID,因此大型集合需要一些分页代码来处理所有数据的检索。
希望监视使用情况的管理员可以使用Azure存储资源管理器应用程序。 它适用于Windows,MacOS和Linux,是了解Azure存储帐户的使用方式以及查看已上传数据的快速方法。
更复杂的基于Blob的应用程序可以利用Azure功能(例如冗余和分层)。 您可以在多个Azure区域中以强大的一致性配置冗余存储。 需要考虑额外的复制成本,但每千兆字节大约需要几美分。 分层存储选项使您可以在访问速度和存储成本之间进行选择,高速高端Blob存储位于规模的一端,而归档存储则位于另一端。
围绕分层架构应用程序可以使其更具成本效益。 照片服务可能将热存储层用于最近的图像缩略图,而较旧的缩略图则存储在冷存储器中。 高分辨率图像可以存储在存档层中,以便仅在有特殊要求时才可以检索它们。 当用户滚动浏览其图像时,您的代码可以预取缩略图以避免延迟问题,而后台进程则处理从一层到另一层的老化缩略图。
From: https://www.infoworld.com/article/3363500/how-and-why-to-use-blob-storage-in-azure.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。