BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Azure的储存选项

| 作者 Jonathan Allen 关注 524 他的粉丝 ,译者 朱永光 关注 0 他的粉丝 发布于 2010年1月12日. 估计阅读时间: 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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT