写点什么

Azure 的储存选项

  • 2010-01-11
  • 本文字数:1263 字

    阅读完需:约 4 分钟

首先要了解一些术语。术语 ** Windows Azure Platform 涵盖了微软云计算技术的所有方面。在 Windows Azure Platform 里,有 3 个主要技术。虚拟机组件称之为Windows Azure**。对于计算而言,它支持Web Roles(用于托管 Web 站点)和Worker Role(用于后端处理)。SQL Azure基于 SQL Server,具有很多相同的特性。最后是Windows Azure Platform AppFabric(不要和Windows Server AppFabric混起来)。Azure AppFabric 是一个消息总线,目标是简化身份验证和消息传递,尤其在跨防火墙的时候使其更容易。

Azure Platform 提供了太多的存储选项,让使用选择可能很困难。在 Windows Azure 的核心中是 Blob 存储。有两种类型的 Blob 存储,block(块)blob 和 page(页)blob。Block blob 能存储最高 200GB 的数据,并针对流处理进行优化。而 page blob 能支持最高 1TB 的数据,主要用于随机访问。除了作为很多其他特性的基础外,blob 存储还用于存储类似图片和视频这样的资源,用户能够通过 REST 风格的 HTTP 请求直接下载这些资源。

运行于 page blob 之上的是 ** Windows Azure XDrive **。XDrive 能像一块 NTFS 格式的硬盘那样被挂接,让其能用普通的文件 I/O API 来访问。不过由于它也是 blob,所以能作为一个原子单元进行复制。

如果你打算存储更加结构化的数据,你有一堆选项可用。对于存储大量的非关系型数据,你最好的选择就是当前的表服务(Table Service)。然而在一个 Azure Table 中的实体只能有 1MB 的大小,对于 Table 的总体大小没有一个明确的限制,它应该可以增至 TB 级别的容量。尽管 Table Service 可以支持大容量的数据,但由于只支持少量的数据类型,所以实际上还是有比较严格的限制,这就要求开发人员从一开始就需要考虑如何处理分区问题。

如果你想使用诸如联接(Join)这样的关系概念,那么SQL Azure是比较好的选择。SQL Azure 支持大部分在现代数据库中所具备的特性,包括标准的 ODBC 和 ADO.NET 客户端 API。然而,它在大数据库方面有着严格的大小限制,只能存储 10GB 的容量。由于跨数据库查询不被支持,所以跨多个数据库的分区是个棘手的问题,任何 union 或 join 操作都需要在内存中完成。

最后,还有消息存储的选项。消息存储用于短期队列和存储 - 转发类型的架构当中。Azure 的QueueService支持大小最多为 8K 基于 XML 的消息。如果你需要发送大数据的话,应该存储在别处并通过 URI 或在消息中的主键来引用。队列消息在接收后就被“隐藏”。应用程序倾向于用及时删除的方式来处理已被接收的消息;否则它最终会再次出现,并再次发送。从设计的角度看,这也意味着消息处理的次数会幂等增加。目前,在队列中的消息数目并没有严格的限制。

Azure AppFabric 也提供了消息队列,虽然它们称之为(AppFabric 服务总线消息缓存)AppFabric Service Bus Message Buffer消息缓存默认只支持10 条消息,不过可配置为最高50 条。缓存中消息保存在内存中,因此在服务器宕机的时候不能恢复。因而,在不可靠或会离线较长时间的接收端,应该尽量少用这种存储方式。

查看英文原文: Azure Storage Options

2010-01-11 19:062035
用户头像

发布了 254 篇内容, 共 67.7 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

如何优雅的理解HBase和BigTable

Rayjun

Java HBase

架构师训练营第二章作业

张明森

学习总结

Mr.Monkey

设计模式原则思考

张瑞浩

架构师训练营-学习笔记-第二周

心在飞

极客大学架构师训练营

架构师训练营作业(第二周)

默默

极客大学架构师训练营

「架构师训练营」第2周作业

Amy

极客大学架构师训练营 作业

架构师之路-UML 入门

闻人

学习 架构设计 极客大学架构师训练营 架构总结

【架构师训练营-周总结-2】

小动物

总结 极客大学架构师训练营

架构师训练营-第一周作业1-食堂就餐卡系统设计

清风徐徐

极客大学架构师训练营 UML

框架设计原则

首次披露我和知识星球老吴的一段对话

池建强

产品思维 产品定位 知识星球

从车辆工程转行程序员两年,我是这么走过来的

WB

程序员 汽车电子

gitlab-runner 安装

dudu

【荒于嬉】事务的特性及隔离级别

luojiahu

事务

架构师训练营 - 第二周 - 学习总结

stardust20

极客时间 - 架构师培训 -2 期作业

Damon

架构学习总结 - 1 - 软件设计原则

Chasedreamer

《微服务设计》读后感

w0807m

微服务

依赖倒置原则

elfkingw

每周学习总结 - 架构师培训2期

Damon

ARTS打卡 第1周

Scotty

ARTS 打卡计划

数据科学的门槛将提高,架构设计UML,John 易筋 ARTS打卡Week 04

John(易筋)

架构设计 ARTS 打卡计划 ARTS活动 arts

ARTS 打卡(20.06.08-20.06.14)

小王同学

ARTS_20200_week1

不在调上

ARTS 打卡计划

第二课作业

实践Java如何创建安全的线程池

tingye

多线程 线程池 「Java 25周年」

架构师训练营第二周学习总结

张明森

软件设计原则作业

Mr.Monkey

架构师训练营-第一周学习总结

清风徐徐

面向对象设计原则

elfkingw

极客大学架构师训练营

Azure的储存选项_.NET_Jonathan Allen_InfoQ精选文章