概述
SDS是結構化查詢語言數據服務SDS是 SQL Data Service的縮寫,原名SQL Server Data Service(SSDS)。
基本概念
大步邁向SAAS,作為一個Web存儲服務,SDS是微軟與Amazon S3進行競爭的產品。SDS是繼BizTalk Services之後,微軟的另一個運行於Web之上的服務。
你可以認為SDS是一個可以存儲結構化數據的雲(用以構建大型套用,雲計算(Cloud Computing)這個繼格線計算之後的又一IT技術熱點,其基本原理就是動用網際網路上大量的分散式計算機來代替本地計算機或遠程伺服器幫助企業完成大量計算任務,為企業節省了大量時間和設備成本,從而能夠將更多的資源放在自身業務的發展上),你可以使用基本的數據操作語言通過網際網路協定對它進行訪問。SDS是為那些對系統擴展性有要求、需要簡化編程、及對數據存儲有強健查詢能力的需求而又對成本敏感的開發者和商業套用而設計。
SQL Data Service提供了一個靈活的數據模型,它被構建成這樣的一種結構:Customer > Account > Authority > Container > Entity。Customer是使用SDS的公司或獨立開發者;每個Customer都可能會創建數量極多的賬號;這些賬號與一個唯一的 Windows Live Id相關聯;認證是一個與命名空間相似的概念,它與賬單和Geo-Location定位系統相關聯;Container則是保持一致性的單元,以確定搜尋和更新操作的邊界範圍;最小和最基礎的數據單元就是Entity。
Neil Hudson將這個最基礎的數據單元稱為“Flexible Entity Model,它對結構沒有要求,你可以直接更新成對的name/value(這也就是最小的存儲單位)”。成對的name/value代表著屬性,其中的類型信息可以隨時被改變。屬性也可以隨時添加。SDS支持“簡單的類型,如decimal、string、bool等,而且所有的屬性都會被索引”。
數據可以通過多種方式進行訪問和修改:
Microsoft Sync Framework (離線訪問)
ADO.NET Data Services
REST
SOAP
在Authority、Container和Entity層,可以對數據進行CRUD操作。可以通過支持LINQ的C#語法的文本查詢語言來進行查詢。
SDS相當於Salesforce.com版本的資料庫。它針對以Web為中心的開發人員,尤其是新興公司的開發人員。出於對複雜性或成本的考慮 ,他們不想管理自己的資料庫。
雖然用戶為了把SDS與其他套用連線起來,需要了解流行的Web 2.0編程接口,如代表性狀態傳輸REST和簡單對象訪問協定(SOAP),但他們用不著了解傳統SQL就能獲取及使用數據。確切地說,數據使用LINQ進行查詢,LINQ是類似SQL的.Net框架的一個部分。使用微軟同步框架(Microsoft Sync Framework),還有可能與其他對象(如移動設備)進行同步。
雖然微軟在後端使用SQL Server 2008(及Windows Server 2008),但SSDS根本不像SQL伺服器的Web託管版本。後者問世已有數年,但提供該產品的是託管服務合作夥伴,而不是微軟本身。在這種情況下,用戶仍需要常常管理(遠程管理)整個SQL伺服器資料庫,通常還需要購買SQL伺服器許可證及底層硬體。
不過,SDS最初不會提供類似SQL伺服器的特性; 儘管SSDS如今被認為是企業級產品,但本身仍缺乏Oracle資料庫或者IBM DB2的許多特性。SDS可能也不是微軟正在開發的惟一基於雲計算的SQL伺服器版本。
特點和方案
Application Agility for quick deployment(快速部署、敏捷套用)
支持標準網際網路協定REST、SOAP(Internet standard protocols and Interfaces (REST, SOAP).)
靈活的數據類型,沒有模式的要求(Flexible data model with no schema required.).
簡單的基於文本的查詢模型(Simple text base query model.)
可在任何 編程環境下簡單編程(Easy to program to from any programming environment.)
On-Demand Scalability(根據需要可擴展)
易於儲存和訪問(Easy storage and access. Pay as you grow model.)
級數增長Scales as data grows.)
供給、部署和監測的web服務(Web services for provisioning, deployment, and monitoring.)
Business-Ready SLA(ServiceLevel Agreement)
基於健全的Microsoft SQL Server資料庫和Windows伺服器技術(Built on robust Microsoft SQL Server database and Windows server technologies.)
為可靠性和可用性存儲和管理多個鏡像(Store and manage multiple copies of the data for reliability and availability.)
利用族備份,確保業務的連續性(Back up data stored in each data cluster. Geo-redundant data copies to ensure business continuity.)
利用安全的數據通道提供商業機密及個人隱私(Secure data access to help provide business confidentiality and privacy.)