其实SQL Azure可以看做是SQL Server的云端版本,两者在Logo方面都有相似之处。那么在一堆非关系型数据库中“鹤立鸡群”的SQL Azure究竟有什么独到之处呢?
SQL Azure标志
SQL Azure是微软提供的一个云数据库系统。起初,该产品称作SQL Data Services或SDS。现在它重新命名了,它的特点也得到了扩展。可以用T-SQL来管理、创建、操作云数据库了。T-SQL是为数据库管理的SQL Server本机语言。T-SQL起初在大多数云数据库系统包括Azure上不被支持。然而,又要要求LINQ中的适当语言和变量。所以T-SQL就被添加进来了,这样可以使现成的DBA技能扩展到云。另外,因为SQL Azure的数据类型和存储过程几乎和传统的SQL Server匹配,所以在本地开发然后部署到我们喜欢的其他任何主平台上的云是很容易的。
Azure是微软提供的云计算系统。把Azure当作云操作系统,它可以为我们的应用程序提供存储和计算平台。除了Azure之外,有5个扩展部分提供额外的服务。这5个扩展部分分别为Live Services、Net Services、Share Point、CRM和SQL Azure。
SQL Azure是一个关系型数据库。在云技术里关系型数据库是不常见的。大多数都是非关系型数据库,你只能创建很不正规化的表。另一个不常见的特点是SQL Azure支持存储过程。使用存储过程可以允许你将数据库和应用程序逻辑之间完全分离。另外一个特点是SQL Azure支持大量的数据类型。包括几乎所有典型的SQL Server 2008数据类型。
那么SQL Azure对初学者来说,它只与开发人员有关。SQL Server专家Brent Ozar表示,SQL Azure所关注的人群不是DBA而是开发人员。为什么?从性能角度出发,许多的管理任务都移交到其他人员那里去了。
Ozar解释说:“Azure中最重要的事情,就是它抽离了许多DBA的管理工作。这部分工作还是需要有人来做,而这些人需要是能够应对工作负载的人。”
这对于开发人员来说就是一个挑战了,因为在使用Azure出现性能问题时,他们将不会得到DBA的帮助。Ozar指出,对于那些不喜欢同DBA打交道的开发者来说可以说是一个福音,对于出色的编码者来说,Azure平台再合适不过了。
Kevin Kline谈到SQL Azure针对的是开发人群时,提到了微软的广告策略。他说:“回想一下微软在发布Azure时是如何宣传的吧,在PASS会议上几乎就没怎么提到它,而在开发者大会上它却成了明星中的明星。Azure的目标人群无疑是开发者,而DBA作为数据的真正‘保护者’却用不上它。”
Ozar认为DBA经常做的加密与访问控制等操作,在开发者中并不常见,而Azure平台正是要给开发者以这样的能力。
维护云数据库就像是开车
云数据库有一个比较形象的比喻,他说这就像是我们开车时,手动挡与自动挡的区别一样。“云数据库能给你单独的额外层。因此就像你从开手动挡换到开自动挡的汽车一样,你不用再去担心离合器和换挡操作了,虽然其中的工作大都转向幕后,但实现的功能却是相同的。因此我个人认为这样的比喻是十分恰当的。”
Azure不是万能的,但能帮你做很多事
数据库技术人员分成两个极端:什么功能都用上的人和只用所需功能的人。他指出,第一种人他们会尝试使用所有SQL Server的新功能,但SQL Azure可能在一些领域会让他们失望;而后一种人则会认为SQL Azure带来了足够多的惊喜。Azure绝对是能让人满意的产品,它能够实现SQL Server现有九成以上的功能。
SQL Azure的架构
【编辑推荐】