SQL Azure方便開發者踏上雲資料庫之路

iSQlServer發表於2010-03-19

其實SQL Azure可以看做是SQL Server的雲端版本,兩者在Logo方面都有相似之處。那麼在一堆非關係型資料庫中“鶴立雞群”的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現有九成以上的功能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-629942/,如需轉載,請註明出處,否則將追究法律責任。

相關文章