关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » SQL语言 »微软SQL Azure云数据库开发揭秘

    微软SQL Azure云数据库开发揭秘

    2010-10-09 10:34:00 出处:ITJS
    分享

    应该没有开发者不认识Microsoft SQL Server,但是肯定有开发者不知SQL Azure 为何物。SQL Azure 是微软云计算平台(Windows Azure Platform)的三大组成部分之一,是一个部署在云端的关系型数据库引擎,它支持SQL Server中绝大多数和开发有关的功能。也可以简单的认为SQL Azure就是SQL Server的云端版本,但是还是有一些区别,我们将在下文进行介绍。本文对SQL Azure做一个概述,主要从SQL Azure的架构、主要功能、访问SQL Azure的数据、SQL和SQL Server功能比较这几个方面来介绍,以期大家对SQL Azure有一个整体性的认识。

    SQL Azure的架构

    就像微软云计算服务平台(在这里笔者认为微软云计算服务平台包含了微软云计算平台,还包括了构建在此平台上的服务,如living Service,当然这只是作者的理解,值得商榷。)上的其它服务一样,SQL Azure也是一个高可用性、高可扩展性的数据实体服务,这个服务跑在云端,或者说是跑在微软公司在世界各地建立的数据中心上。

    数据中心(Data Center,DC)通过实现统一的数据定义与命名规范、集中的数据环境,从而达到数据共享与使用的目标。一个典型的数据中心常常跨多个供应商和多个产品的组件,包括:主机设备、数据备份设备、数据存储设备、高可用系统、数据安全系统、数据库系统等等,当前数据中心和下一代数据中心的参考架构如图1:示:

    图2 SQL Azure架构

    由图2我们可以看出,SQL Azure是一个四层架构,基础设施层(Infrastructure Layer)、平台层(Platform Layer)、服务层(Service Layer)、客户端层(Client Layer),基础设施层、平台层和服务层构成了微软数据中心。下面我们分别予以介绍。

    基础设施层

    基础设置提供了硬件支持和操作系统,以及对服务层所运行的服务管理。同时也是核心数据层,可以为一个数据中心提供多个共享服务。

    平台层

    平台层由三部分组成:SQL Server实例、SQL Server Fabric、管理服务。SQL Server实例就是一个SQL Server数据库引擎。每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。由于实例各有一套不为其他实例共享的系统及用户数据库,所以各实例的运行是独立的,一个实例的运行不会受其他实例运行的影响,也不会影响其他实例的运行。在一台计算机上安装多个SQL Server实例,就相当于把这台计算机模拟成多个数据库服务器,而且这些模拟的数据库服务器是独立且同时运行的。

    SQL Server Fabric是一个底层框架,是一个分布式的框架,集成了网络、服务器和存储,因此这个框架能够使得SQL Azure自动进行负载均衡、数据容灾、备份恢复。

    管理服务能够对运行在其上的服务进行健康检查、升级或者打补丁。并为SQL Server Fabric提供软硬件支持。

    服务层

    服务层连接了客户端层和平台层,包含三大功能:数据提供(Provisioning)、账单和计量(Billing and 、Metering)、连接路由(Connection Routing),期中Provisioning 列举了微软云计算平台账户。服务层同时暴露了带有SSL的列表数据流(Tabular Data Stream ,TDS)给客户端层。

    客户端层

    客户端层是唯一运行在微软数据中心之外的一层,不是使用SQL Azure任何特殊的组件,而是使用了当前客户端上安装的SQL Server的功能,如ADO.Net、WCF服务、ODBC、SQL Server管理工具。客户端层使用API初始化一个TDS连接,通过1433端口连接到SQL Azure上。客户端层运行我们使用数据的工具——SQL Server来构建云应用。

    SQL Azure的主要功能

    SQL Azure目前的不完全支持SQL Server上的所有功能,如分析服务、镜像、报表服务以及能够选择不同的服务提供者提供不同的服务。这是因为当前的网络状况和云计算平台部署需求所决定的,在将来肯定会提供更多功能,如Dallas。我们SQL Azure的主要功能分成三部分:数据库功能、应用程序功能和管理功能。

    数据库功能

    支持的数据库功能如下:

    (1)表的增删改查(CRUD),试图、索引

    (2)TSQL query JOIN statements

    (3)触发器

    (4)TSQL functions

    (5)Application stored procedures (only TSQL)

    (6)Table constraints

    (7)基于Session的临时表

    (8)Table variables

    (9)Local transactions

    (10)安全角色

    (11)SUSER_SNAME函数,返回当前安全登录名

    (12)MARS,多活动结果集

    不支持的数据库功能如下:

    (1)分布式查询

    (2)分布式Transactions

    (3)任何 TSQL query and views改变或者恢复物理资源信息

    (4)自定义数据类型

    应用程序功能

    应用程序功能不支持的功能有:

    (1)Service Broker

    (2)HTTP access

    (3)CLR stored procedures

    管理功能

    SQL Azure支持数据应用层程序(Data-tier Applications),数据库应用层程序是一个包含了几乎某一应用所需要的数据库及实例对象的实体,如表、视图、存储过程、登录等等。有了实体以后,原本独立的登陆、部署、维护就可以通过开发人员进行开发来整合成为一个统一的整体,这样的一个整体又叫应用程序包,这样DBA 就可以把原本独立的对象视为一个数据库应用层的程序来进行部署、监控和管理。目前支持的数据层应用程序有删除、部署、提取和注册数据层应用程序包。不仅如此,还支持的管理功能有:

    (1)计划和统计

    (2)索引开启

    (3)查询开启

    SQL Azure不支持一下管理功能:

    (1)数据库复制

    (2)SQL profiler

    (3)SQL trace flag

    (4)命令行备份

    (5)配置和使用存储过程sp_configure

    有关SQL Azure更多不被支持的功能,对SQL Server 2008(R2)和SQL Server 2005有所不同,可以参考MSDN:

    http://msdn.microsoft.com/en-us/library/ff394115.aspx

    访问SQL Azure中的数据

    访问SQL Azure中的数据,我们可以通过APIs访问,如ADO.Net、ODBC或者PHP中的数据库访问,他们使用TDS+SSL的方式来访问。也可以通过基于Web的客户端,如浏览器、WCF数据服务客户端、SilverLight等方式,使用HTTP或HTTPS来访问云中的数据。如图3所示:

     

    图3 访问SQL Azure中的数据

    在上图所示场景A中,使用应用程序代码存储数据中心访问权限,但是数据存在于SQL Azure中,应用程序可是使用客户端库访问SQL Azure。它的优点是直接连接到SQL Azure中的数据库,其缺点是每个客户端必须使用已经提供的数据访问方法如ADO.Net来访问SQL Azure中的数据库。

    在上图所示的场景B中,应用程序代码在Windows Azure上,应用数据库在SQL Azure中的数据库上,可以使用像场景A中的客户端数据访问类库来访问数据。场景B中允许了更多的客户端类型来访问,如桌面客户端应用和SilverLight应用对数据的访问。这种访问方式的优点有:业务逻辑离数据库更近、暴露了一些标准接口,如HTTP、SOAP、客户端程序不必依赖SQL Server 客户端API。假如使用Windows Azure作为中间层访问数据,数据库性能是其最大缺点。

    SQL Azure VS SQL Server

    有关SQL Azure和SQL Server的详细功能对比,这里就不再做出说明,感兴趣的读者可以参考微软云计算中文博客,其地址是:http://blogs.msdn.com/b/azchina/archive/2010/05/25/sql-azure-vs-sql-server.aspx

    或者参考其镜像站点CSDN博客的关于SQL Azure和SQL Server的功能对比。地址:http://blog.csdn.net/azurechina/archive/2010/05/18/5604059.aspx

    总结

    该篇讲述了SQL Server的云计算平台版本——SQL Azure,但是我们又不能简单的把SQL Azure看成是构建在云端的SQL Server。SQL Azure是一个四层结构:基础架构层、平台层、服务层和客户端层,前三层构成了微软数据中心,客户端层使用API或者基于Web的客户端来访问存储在云中的数据。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    SQL汉字转换为拼音的函数

    windows 7系统无法运行Photoshop CS3的解决方法

    巧用MySQL加密函数对Web网站敏感数据进行保护

    MySQL基础知识简介

    Windows7和WinXP下如何实现不输密码自动登录系统的设置方法介绍

    windows 7系统ip地址冲突怎么办?windows 7系统IP地址冲突问题的

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。