产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

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

关注

评论

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

教你Python字符串的基本操作:拆分和连接

华为云开发者联盟

Python 连接 字符串 拆分 拆分字符串

最强最全面的大数据SQL系列

五分钟学大数据

sql 大数据 hive

OPPO小布助手算法系统探索、实践与思考

安第斯智能云

算法

Arctic:网易数帆开放式流批一体表服务 | BDTC 精彩回顾

网易数帆

大数据 数据湖 iceberg 流批一体 Arctic

性能分析之Linux系统平均负载案例分析

zuozewei

Linux 性能分析 12月日更

SpringBoot应用和PostgreSQL数据库部署到Kubernetes上的一个例子

汪子熙

Kubernetes k8s 28天写作 docker build 12月日更

饿了么资深架构师分享云上基础架构演进

阿里云弹性计算

云上架构 运维峰会

kafka丢失和重复消费数据

编程江湖

大数据 kafka

迭代你好,我是冲刺

华为云开发者联盟

Scrum 开发 迭代 冲刺 迭代增量开发

react源码解析18事件系统

buchila11

React

Golang协程之了解管道的缓存能力

恒生LIGHT云社区

Go golang

给弟弟的信第26封|做一个懂得感恩的人

大菠萝

28天写作

PingCAP x 亚马逊云科技,为 TiDB 云端体验“加冕”

PingCAP

一文带你了解数据库连接池的必要性

编程江湖

数据库 JAVA开发

Soul运维总监尤首智:企业如何从0到1建设云上运维体系

阿里云弹性计算

阿里云 云上架构 运维峰会

完蛋,我的事务怎么不生效?

秦怀杂货店

MySQL 数据库 事务 事务失效

云原生时代,需要什么样的数据库?

博文视点Broadview

版本不兼容Jar包冲突该如何是好?

vivo互联网技术

jar Java 开发

10个Node.js 开发人员必须使用的IDE

编程江湖

node.js

【转】java开发之spring面试题

@零度

JAVA开发 spring框架

基于流程管理,提高工作质量和效率

流程管理

初探语音识别ASR算法

华为云开发者联盟

算法 语音识别 ASR 语音转写文章 声学模型

面试被问一致性hash?看这一篇就够了

公众号:程序猿成神之路

PassJava 开源 (九) :Spring Cloud 整合 Gateway 网关

悟空聊架构

SpringCloud Gateway passjava 悟空聊架构

智算未来 | 2021新一代人工智能院士高峰论坛智算网络分论坛成功举办

OpenI启智社区

网络安全好学吗?网络安全入门篇,安装渗透测试系统kali全套教学

学神来啦

运维 网络安全 渗透测试· kali基础 kali Linux

大数据开发Hive之如何进行数据抽样

@零度

大数据 hive

技术揭秘!百度搜索中台低代码的探索与实践

百度Geek说

中台 后端 低代码 搜索

滴滴数据通道服务演进之路

Kafka中文社区

共筑AI开源繁荣生态 | 新一代人工智能院士高峰论坛深度学习框架分论坛成功举办

OpenI启智社区

华为与湖北三所高校共建首批鲲鹏&昇腾产教融合育人基地

科技热闻

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