Chinaunix首页 | 论坛 | 博客
  • 博客访问: 530881
  • 博文数量: 221
  • 博客积分: 3032
  • 博客等级: 中校
  • 技术积分: 2525
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-30 15:45
文章分类

全部博文(221)

文章存档

2012年(221)

我的朋友

分类: 云计算

2012-07-31 14:47:44

每一个Windows Azure应用程序运行在一个或多个角色实例(或者称为VM)。每个VM对应一个本地存储,提供给应用程序免费使用。需要注意的是,出于系统维护的需要,Windows Azure会周期性得停止VM,这就意味着,为达到数据的持久化存储,那些应用程序对应的数据必须独立于VM之外。为此,Windows Azure提供了三种数据管理方式,提供VM之外的持久化存储,如下:

1Windows Azure提供三种数据管理方式,分别为关系型存储,可扩展数据表,无结构化Blob对象

Windows Azure提供之所以三种方式,是为了满足不同的需求:关系型存储的需求,快速访问大数据且类型简单的需求,以及无结构化Blob对象存储需求。无论哪种方式,Windows Azure数据中心都会提供三种不同的服务器,自动拷贝与备份数据,从而保证其高可用性。如图1所示,无论是哪种数据管理方式,访问形式是多种多样的,既可以是Windows Azure应用程序,也可以是其它形式的应用,例如企业内部数据中心,笔记本电脑,甚至是手机端的应用程序。Windows Azure 数据管理服务的费用是基于用户的使用率,即按每月多少G存储数据计算的。要了解详细费用,请参见:

接下来,我们逐一介绍Windows Azure提供的这三种数据管理方式。

SQL Azure

针对关心型存储数据管理方式,Windows Azure提供的支撑服务产品是SQL Azure。可以简单地将SQL Azure类别为SQL Server的云端定制版本。SQL Azure提供所有关系型数据库系统所具备的关键特性,比如事务管理,多用户并行数据访问,数据完整性,支持标准ANSI SQL查询。与SQL Server一样,SQL Azure支持的数据访问方式包括ADO.NETJDBC,以及其它主流的数据访问技术。SQL Azure的数据交互其实与SQL Server非常类似。SQL Azure支持绝大多数T-SQL语言,并且可以通过SQL Server Management StudioSQL Server Data Tool等工具访问。对于任何有SQL Server或是其它关系数据库经验的人来说,使用SQL Azure非常简单。

所不同的是,SQL Azure不仅仅是云端的一个DBMS,它还是一个PaaS服务。作为服务的使用者来讲,他们仍然保证自己的数据安全,并且决定数据访问的授权。而作为SQL Azure而言,除数据的访问控制权限管理之外,它还要关心硬件基础设施的管理,自动维护数据库与操作系统软件的更新。换句话说,SQL Azure担当了很多管理员的工作。

毫无疑问,SQL AzureWindows Azure应用在关系型数据存储方面的最佳选择。当然,云端之外的其它应用也可以选择SQL Azure服务。举个例子,SQL Azure的一个优势是,数据访问客户端程序,无论是桌面,笔记本,平板,手机等,都能轻松自如地连接并操纵SQL Azure。如前所述,SQL Azure通过数据复制机制,提供了内置的高可用性,将宕机时间与损失降到最少。另一个值得一提的好处是,SQL Azure涵盖的SQL Azure Data Sync服务使得在无需编程的前提下,实现本地SQL Server数据库与云端的SQL Azure数据库的无缝同步。

Tables

我们刚才提到,SQL AzureWindows Azure应用用于解决关系型数据存储的最佳数据管理模型。现在,我们设想一下,当企业需要创建一个Windows Azure应用,并要求快速访问几百G类型简单的数据,与此同时,又不需要执行复杂的SQL查询,在这种场景下,我们该选择什么呢?举个例子,用户需要创建一个客户信息的应用,方面存储客户的身份信息。这是一个典型的应用,并会涉及大量类型简单的数据。除了数据存储之外,该应用的需求是,该应用的使用者无需做更多的操作,就可以轻松获取数据。在这种场景下,我们推荐使用Table这种数据管理方式。

需要说明的是,Table并不提供关系型数据存储。如果需要使用RDBMS特性,比如参照数据完整性,数据库管理事务,SQL查询,最好的选择是SQL AzureTable存储的是各种不同数据类型的属性值,比如字符串类型,数字类型,日期类型等。应用程序通过键值映射的方式获取属性值。Table并不支持复杂的类似数据表连接等数据操作,但却提供了对关系型数据的快速访问。另外,Table有很强的可扩展性,一张表可容纳T字节级的数据。正因为Table的设计理念相对简单,费用比SQL Azure会便宜很多。

Blobs

第三种Windows Azure数据管理方式为 BlobBlob机制主要用于无结构化二进制数据的存储与访问。与Table一样,Blob也非常便宜,一个bBlob对象可以是1T字节。Blob通常用于存储视频,备份数据,以及其它寻求简单便宜存储介质的二进制信息。此外,Windows Azure应用程序还可以使用Windows Azure Drive工具将Windows 文件系统外挂到Window Azure虚拟机,用作Blob提供持久化存储服务。

商务数据分析

数据使用与呈现的一种通常方式是数据报表。Windows Azure提供SQL Azure Reporting,支持对SQL Azure的数据报表。SQL Azure ReportingSQL Server提供数据报表功能的一个自己,目标是为Windows Azure应用提供数据报表服务。SQL Azure Reporting支持多种数据输出格式,包括HTMLXMLPDFExcel等。既可以通过Windows Azure应用的内部工具,也可以是Web浏览器打开与访问这些报表。

商务数据分析Azure SQL数据的另一途径是使用本地的BI工具。对于Windows Azure客户端程序来说,SQL Azure就是一个SQL Server,所以在本地SQL Server使用的BI工具,同样也可以用于云端的Azure SQL

阅读(1275) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~