微软云计算Windows Azure(二)

目录

    • [三、微软云关系数据库SQL Azure](#三、微软云关系数据库SQL Azure)
      • [(一)SQL Azure概述](#(一)SQL Azure概述)
      • [(二)SQL Azure关键技术](#(二)SQL Azure关键技术)
      • [(三)SQL Azure和SQL Server对比](#(三)SQL Azure和SQL Server对比)
    • [四、Windows Azure AppFabric](#四、Windows Azure AppFabric)

三、微软云关系数据库SQL Azure

(一)SQL Azure概述

SQL Azure是微软的云中关系型数据库。SQL Azure数据库简化了多数据库的供应和部署。SQL Azure还为用户提供了内置的高可用性和容错能力。SQL Azure提供了关系型数据库存储服务,包含三部分:

  1. SQL Azure数据库:提供了一个云端的DBMS,这使得本地应用和云应用可以在微软数据中心的服务器上存储数据。
  2. SQL Azure报表服务:SQL Server Reporting Service(SSRS)的云化版本。主要是用SQL Azure数据库提供报表服务,允许在云数据中创建标准的SSRS报表。
  3. SQL Azure数据同步:允许同步SQL Azure数据库和本地SQL Server数据库中的数据,也能够在不同的微软数据中心之间同步不同的SQL Azure数据库。

(二)SQL Azure关键技术

SQL Azure除了提供SQL Azure数据库服务外,还提供报表服务和数据同步服务。

1、SQL Azure数据库

SQL Azure数据库是SQL Azure的一种云服务,提供了核心的SQL Server数据库功能。SQL Azure 数据库支持TDS和Transact-SQL(T-SQL)。SQL Azure数据库提供的是一个基于云的数据库管理系统。

在创建一个部署在Windows Azure的应用中,用户使用了SQL Azure数据库,这个应用可以运行在企业数据中心或移动设备上。SQL Azure数据库应用能够使用任何现有的SQL Server客户端,也可以使用SQL Server中的大量工具。

每个SQL Azure账户都拥有一个或多个逻辑服务器。每台服务器都拥有多个SQL Azure数据库。用户可以自由地使用SQL Azure数据库。

SQL Azure与SQL Server的差别:

  • 劣势:
    ① SQL Azure省略了SQL Server中的一些技术点。
    ② 用户没有底层管理功能,所有管理功能都由微软实现。
    ③ 用户不能直接关闭自身运行的系统,也不能管理运行应用的硬件设施。
  • 优势:
    ① SQL Azure运行环境比较稳定。
    ② 应用获取的服务比较健壮。
    ③ 存储的所有数据均备份了3份。

2、SQL Azure报表服务

基于SQL Server报表服务(SSRS,SQL Server Reporting Services)实现SQL Azure报表服务。现在SQL Azure Reporting主要有两个使用场景。第一,SQL Azure报表创建的报表可以发布到某一个门户上,云端用户可以访问这个门户的报表,也可以通过URL地址直接访问报表;第二,ISV(Independent Software Vendor,独立的软件开发商)能够嵌入发布到SQL Azure报表门户的报表。


3、SQL Azure数据同步

为了提高存储数据的访问性能,同时确保网络发生故障时应用仍然能够访问数据库,需要在本地拥有SQL Azure的数据库副本,微软使用了SQL Azure数据同步技术。

"轮辐式(hub-and-spoke)"模型,所有的变化将会首先被复制到SQL Azure数据库"hub"上,然后再传送到其他"spoke"上。

上述的同步过程可以同步整个数据库,也可以只同步有更新的数据库表格。

(三)SQL Azure和SQL Server对比

1.物理管理和逻辑管理

  • SQL Azure能够自动复制所有存储的数据以提供高可用性。
  • SQL Azure还可以管理负载均衡、故障转移等功能。
  • 用户不能管理SQL Azure的物理资源。
  • SQL Azure不能使用SQL Server备份机制。

2.服务提供

  • 部署SQL Azure时,准备和配置所需要的硬件和软件均由SQL Azure服务程序来执行。
  • 用户在Windows Azure平台上创建了一个账户后便可以使用SQL Azure数据库。
  • 每个SQL Azure订阅都会绑定到微软数据中心的某个SQL Azure服务器上。

3.Transact-SQL支持

  • SQL Azure中由微软进行物理资源的管理, SQL Server Transact-SQL语句都有一些参数并不适用于SQL Azure。

4.特征和类型

  • SQL Azure不支持SQL Server的所有特征和数据类型。
  • SQL Azure提供物理管理,会锁住任何试图操作物理资源的命令语句。

四、Windows Azure AppFabric

(一)AppFabric概述

AppFabric为本地应用和云中应用提供了分布式的基础架构服务。用户本地应用与云应用之间进行安全联接和信息传递。云应用和现有应用或服务之间的连接及跨语言、跨平台、跨不同标准协议的互操作变得更加容易,与云提供商或系统平台无关。

AppFabric目前主要提供互联网服务总线(Service Bus)、访问控制(Access Control)服务和高速缓存服务,如图所示。

Windows Azure AppFabric的所有部件都是在Windows Azure的基础上创建的。其部件描述如下。

1、服务总线

通过云中应用公开的终端使公开应用服务变得简单,这个终端是可以被其他应用访问的。服务总线同样能够处理网络地址转换所带来的挑战,并且可以在没有打开新的公开应用端口的情况下通过防火墙。

2、访问控制

AppFabric访问控制服务简化了支撑身份认证的工作,同时也定义了一定的规则来控制用户的访问。

3、高速缓存

提升应用的访问速率,可以缓存这些经常被访问的信息,从而减少应用查询数据库的次数。

(二)AppFabric关键技术

1、服务总线

AppFabric中,服务总线(Service Bus)解决了这些问题,如图所示。一个WCF服务可以通过服务总线注册终端,然后由客户端发现和使用这些终端访问服务。

用户服务需要使用AppFabric服务总线的开放TCP连接显示终端,并保持这个连接一直处于开放的状态,这就解决了两个问题:解决问题一:服务总线上的开放连接可以路由到应用程序;解决问题二:通过连接将消息传回应用时防火墙不会阻止该消息。

服务总线充当了一个外部DMZ(Demilitarized Zone,隔离区)的角色,起到了间接阻止攻击的作用。

服务总线提供了一些有用的特征:

(1)支持消息缓冲:消息缓冲是通过一个简单的队列来实现的。不需要客户端直接响应服务。存储消息持久存放在磁盘上。存放的消息通常需要进行备份。

(2)多个WCF服务监听同一个URI:服务总线通过监听服务随机传播客户端请求,为WCF服务提供负载均衡和容错能力。

2、访问控制

  • 应用接受来自多个IdPs发出的身份和常见声明的Token,而不是处理包含不同声明的各种Tokens。
  • 访问控制是为一些IdPs提供支撑服务的,它同样可以对支持OpenID的IdP有效。
  • 浏览器和其他客户端可以通过OAuth 2或WS-Trust请求AC Tokens。
  • 为了创建应用,Windows开发者使用WIF(Windows Identity Foundation)接受AC Tokens。
  • 访问控制的目标是为了使创建过程变得简单。

3、高速缓存

AppFabric高速缓存服务为Windows Azure应用提供了一个分布式缓存,同时为访问高速缓存提供了一个库。

高速缓存服务保存每个应用角色实例近期访问数据条款副本的缓存。如果应用需求的数据条款不在本地的高速缓存中,高速缓存库将会自动地连接高速缓存服务提供的共享高速缓存。高速缓存可以通过一些Windows Azure实例进行传播,每个实例都保存了不同的缓存数据。

在Windows Azure中,AppFabric高速缓存并不是缓存最近的访问信息。

Windows Server AppFabric与Windows Azure AppFabric之间最大的区别在于:Windows Azure AppFabric是一种服务,它不需要配置服务器和管理高速缓存,而且是面向多租户的,每个应用都可以获得实例。

相关推荐
九河云7 分钟前
AWS云服务器的竞争优势
服务器·云计算·aws
svygh1231 小时前
数据库性能优化系统设计
数据库·性能优化·软件设计·系统设计·设计文档
wilsonzane1 小时前
Mongodb性能优化方法
数据库·mongodb
InterestingFigure1 小时前
Java 使用sql查询mongodb
java·开发语言·数据库·sql·mongodb
吹吹晚风-1 小时前
深入Django(三)
数据库·django·sqlite
xyh20042 小时前
python 10个自动化脚本
数据库·python·自动化
W Y2 小时前
【架构-20】死锁
java·数据库·架构··死锁·银行家算法
just-julie2 小时前
Redis 分布式集群方案 Cluster
数据库·redis·分布式
泡芙冰淇淋ya2 小时前
【redis】redis知识点学习目录整理及简介
数据库·redis·学习
zengson_g2 小时前
如何处理 PostgreSQL 中由于表锁定导致的并发访问问题?
数据库·postgresql