写点什么

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:061684
用户头像

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

关注

评论

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

2021MLB CUP 青少年棒球公开赛·秋季赛泉城开战,DC试训带来新希望

科技新消息

加密数字货币钱包软件系统开发详情(案例)

带你掌握不同平台下,探索JDK源码所需的native方法

华为云开发者联盟

Java jdk 系统 native JDK代码

ffmpeg 开发环境搭建

webrtc developer

ffmpeg

区块链数字货币钱包系统开发公司(案例)

从瀑布式到DevOps,开发流程经历了什么?

SoFlu-JavaAI开发助手

DevOps 敏捷开发

区块链多币种钱包软件系统开发费用(案例)

2021年10月国产数据库排行榜:达梦反超OceanBase夺榜眼,TDSQL实现“四连增”,数据生态加速建设

墨天轮

opengauss TiDB oceanbase 国产数据库 达梦

模块一作业:微信业务架构图与学生管理系统毕设架构设计

deng

架构实战营

架构师训练营模块一作业

CheneyWang

架构实战营

算力挖矿系统开发内容(现成案例)

区块链加密货币钱包软件系统开发公司(现成)

面试官:Java从编译到执行,发生了什么?

Java 架构 面试 JVM

020云原生之Pod介绍

穿过生命散发芬芳

云原生 10月月更

区块链数字钱包系统软件开发详情(搭建)

区块链钱包系统软件开发详情(搭建案例)

随便讲讲Python图像处理库PIL的使用

Regan Yue

Python 10月月更

锁仓挖矿软件系统开发模板(源码)

Python代码阅读(第39篇):获取列表出现频率最高的元素

Felix

Python 编程 Code Programing 阅读代码

金九银十面试了3家大厂Java岗,我得到的知识总结

Java 程序员 架构 面试 大厂

Vue进阶(幺肆零):vue 新增数组或对象更新后,视图不更新的解决方案

No Silver Bullet

Vue 10月月更

架构实战营 模块一作业

felix

架构实战营

👊 【Spring 技术特性】SpringMVC集成Java Bean Validation实现参数检验功能(上)

洛神灬殇

spring Bean Validation 10月月更

第 19 章 -《Linux 一学就会》- shell脚本的基础

学神来啦

Linux Shell linux一学就会 linux基础

多币种钱包系统开发介绍(现成)

淘宝小部件:全新的开放卡片技术!

阿里巴巴终端技术

小程序 ios android 淘宝 客户端开发

2021MLB CUP 青少年棒球公开赛·秋季赛从济南拉开战幕

科技新消息

五个维度打造研发管理体系

车江毅

研发管理 软件开发 技术管理 研发体系 研发团队

网络安全—如何预防常见的API漏洞

郑州埃文科技

数据中心 API IP地址

redis在微服务领域的贡献

Java redis 面试 微服务 后端

阿里内部珍藏版:SpringCloud Alibaba第三版(全彩手册)

Java 架构 面试 微服务 大厂

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