在上一篇里我已經提過了,有了SQL Services,作為一般的中小型應用程序開發,你完全可以忘掉SQL Server 200X的存在。有這么神奇嗎?現在流牛木馬就來詳細地了解SQL Services是何方神圣。
在大多數情況下,Web應用程序都需要依賴另一個數據庫服務器。這個數據庫服務需要專業的IT人士來維護。在你部署應用程序之前,你需要考慮太多:這個數據服務器有足夠的容量么?性能怎么樣?穩定和安全?負載?還有其他太多太多未知的因素…
按照云計算的基本概念,解決以上問題,我們需要Cloud-based data platform,即把數據服務都放在云端,依靠強大的云端操作系統和平臺硬件來處理。對了。SQL Data Services(SDS)就是這樣一種基于"云"的數據平臺。
什么是SDS?
SDS是一個面向internet的強大database,提供強壯、安全、靈活數據庫服務。SDS提供SOAP和REST兩種標準接口,與傳統編程語言脫離,讓使用任何語言的coder都可以輕易地操作它。
為什么要使用SDS?
Flexibility and scale,Business-ready reliability and security,Developer agility
SDS在Azure Services Platform中的地位:
SDS是Azure四大模塊之一,在云端為天上地下的應用程序提供數據服務,也為其他的Azure Services模塊提供數據服務。
SDS支持的數據類型
SDS支持 String(字符串), Decimal(十進制數), Boolean, DateTime, and Binary 幾種基本的數據類型,還支持一種叫BLOB(binary large object )數據類型,允許你存儲任何格式的內容。
申請地址:
http://go.microsoft.com/?linkid=9373222
Dev Portal
http://portal.ex.azure.microsoft.com
ACE模型
終于進入重點了。在使用SDS之前,你必須了解SDS的ACE(Authority,Container,Entity)模型。Authority是最高level的對象。一個Authority包含了多個Container,一個Container包含多個Entity.如下圖
我們可以把Authoriy想象成SQL Server中一個數據庫實例(SQL Server instance)。那么,Container就好比實例中的多個相互獨立的數據庫了。而Entity就相當于一條記錄。這樣類比只是一個直觀的概念,其實ACE模型和關系數據庫是有區別的。
如果要準確類比的話,Container可以等同于關系數據庫中的一個獨立database,也可以等同于一個table。Entity是一條數據記錄沒錯,但是Entity的是任意的,不需要像關系數據庫里那樣,在一個table里有一個特定的結構定義。大家看上圖可以注意到,一個Container可以包含多種結構不同的Entity。
舉個實際例子,如上圖所示,我們可以創建一個叫做"food"的Authority,其下包括名為"fruit"和"vegetable"兩個Container. Container["fruit"]中包括3個實體,分別是"apple1","apple2","pear1".注意,這里我們假設五角星代表pear,三角形代表apple。這樣,在這個 Container["fruit"]就包括了兩種類型的三個Entity。同樣,在Container["vegetable"]中,我們假設圓形是白菜cabbage,方形是西紅柿tomato,我們又有了"tomato1","tomato2" ,"cabbage1"三個entity,它們也屬于兩種不同類型。。
呵呵,根傳統的instance-database-tabale-row的模型很不一樣吧?不要緊,現在先記住基本的結構就好了,在下一節,你會有機會動手把玩一下它們。
編程模型
每個Authority都對應特定的URI。比如一個叫做food的Authority,它的HTTP地址就是https://food.data.database.windows.net/v1 ,可以直接在瀏覽器中打開(在瀏覽器zhogn1直接打開,等同于執行HTTP的GET方法)
有了Authority的URI,你會發現,Container和Entity的URI也很容易找到了。格式如下:
https://food.data.database.windows.net/v1/<container-id>
如https://food.data.database.windows.net/v1/fruit/
https://food.data.database.windows.net/v1/<container-id>/<entity-id>
如https://food.data.database.windows.net/v1/fruit/apple1
SDS的編程模型,CRUD,說白了就是對以上這些URI的HTTP操作。下表是一個HTTP Verb到SDS Operation的映射
| HTTP Verb | SDS Operation |
| GET | Fetch,Query,(即Select) |
| POST | Create,(即Insert) |
| PUT | Update |
| DELETE | Delete |
好了,這一節到此結束。:) 下一節我會通過一個小工具來玩轉SDS的全部功能。
注:SQL Data Services現已更名為SQL Azure,功能上無任何變化。
浙公網安備 33010602011771號