2011-11-28 116 views
6

首先讓我清楚,我不是來自網頁背景,所以如果我對它的工作原理有任何理解,請隨時糾正我正常與雲/ Azure託管和SQL Azure與SQL Server的角色

比方說,我有一個網站,我想主辦的雲,因爲

- I don't want to take care of hardware 
- I want to scale my website as needed 

現在我的SQL Server作用VS在這種情況下SQL Azure角色之間有點糊塗了。

普通虛擬主機

當我覺得一個正常的網站,我知道我需要在其自己的網站將被託管的主機/服務器。主機應該能夠支持SQL Server。爲了擴展目的,我將不得不在多臺服務器上託管我的網站/ ASP頁面。同樣,如果我想擴展我的SQL Server,我將不得不在多臺服務器上託管它,並且必須通過某種機制確保所有服務器中的數據都是最新的。

基於雲託管

現在,我想我可以在Cloud/Azure設置類似的結構爲好。如果是,我會在這種情況下使用Cloud的真實功能嗎?

或者我應該使用SQL Azure而不是SQL Server?在這種情況下我能獲得什麼好處?我是否仍然要負責擴大數據的一致性?我知道我可以通過設置虛擬機/實例的數量來擴展網站,但是如何縮放數據庫呢?

編輯 感謝Florin Dumitrescu我想用的術語是Scaling Out因爲我更關心的是性能,而不是我的數據庫有多大的規模而言。我更關心數據庫是如何不同服務器/系統間的規模,以適應負載,從而產生更好的性能

+0

我認爲當您實際上指的是[縮小](http://www.microsoft.com/zh-cn/library/default.aspx)時,您錯誤地使用[scale up](http://en.wikipedia.org/wiki/Scalability#Scale_vertically_.28scale_up.29) //en.wikipedia.org/wiki/Scalability#Scale_horizo​​ntally_.28scale_out.29) –

+0

@ Florin Dumitrescu你是對的我的意思是伸縮 –

回答

3

SQL Azure的,如貝納提到的,是一個數據庫作爲一種服務。因此,你只需要求將其置備,奇蹟發生了,你必須從1GB擴展到5GB,10GB,一路50GB數據庫(即將150GB爲announced在SQL PASS)。有關SQL Azure的的好處:你不必擔心任何基礎設施,服務器,許可等,您只需用您的連接字符串連接。 SQL Azure旨在可擴展以處理大量併發租戶,因此您無需擔心擴展問題。

SQL Azure的也複製其數據在數據中心,爲客戶提供「持久」的存儲。您還需要設計一個災難恢復計劃,以防數據中心變得不可用(您可以使用該Data Sync服務)。

就您的網站本身而言:當您擴展到多個實例時,每個實例運行相同的代碼並使用相同的資源。進一步,您可以將靜態(不變)Web內容(如圖像和CSS)移動到Blob存儲。這個擁有與網站本身存儲他們幾個優點:

  • 能力,以使內容分發網絡,在全球範圍內邊緣緩存服務提供最終用戶在你的Web服務器實例
  • 減毒株更好的性能,因爲這些圖片的請求現在將被定向到Blob存儲,這是一個完全獨立的URL,而不是您的網站。
  • 無需重新部署應用程序即可更新圖像或樣式表 - 只需將新文件上傳到Blob存儲。

我強烈推薦Windows Azure Platform Training Kit,因爲有實驗室會帶您瞭解所有這些基礎知識,並提供完整的代碼示例。這幾乎每月都會更新,並與最新的Windows Azure SDK和工具保持同步。

+0

請注意,Sql Azure數據庫實際上並不會無限擴展自己。此外,在幕後,SqlAzure數據庫正在共享服務器上運行。微軟並沒有對這樣的數據庫期望的性能給出數字,但有機會,你會得到更好的性能與中等價格的房屋專用服務器。從2011年底開始,Sql Azure Federations將可用,他們的確可以提供一種使用Sql Azure數據庫進行擴展的方法:http://social.technet.microsoft.com/wiki/contents/articles/2281.aspx –

+0

@ Florin - 如果將數據庫設置爲使用業務版本和最大大小爲50GB,則數據庫將自動增長,並在當前使用層(每增加10GB)每日分攤一次。如果將最大大小設置爲5GB,則與Web版本相同。隨着數據庫的增長和收縮超過1GB標準,您的每日賬單將相應調整。 –

+0

如果通過擴展您的意思是自動增加數據庫的磁盤大小,那麼我同意你的意見。我的意思是從性能角度進行擴展,即數據庫可以承擔的負載。對不起,如果我對此不明確。 –

1

如果你託管在雲中你的網站,你需要一個數據庫,比SQL Azure是幾乎肯定是最好的選擇。

SQL Azure是一個數據庫即服務,因此您可以創建數據庫,並從您的代碼中反對它,但不必擔心Provisioninig,沒有服務器,因此它們都被關注的。

從應用的角度來看它的外觀和行爲非常像SQL服務器,所以最初所有的改變是連接字符串

1

正如其他着名的SQL Azure帶走了您對建立和維護基礎架構的擔憂。這是Azure總體的前提之一,它提供了一個平臺而不僅僅是基礎設施。

您付出的代價是功能上的一些限制(與常規SQL相比)。大小限制(至少直到聯盟將可用)和延遲增加(因爲您的數據庫沒有運行在您的應用程序的同一服務器上)

Microsoft Teched有「SQL Azure Performance and Elasticity Guide」,您應該看看