我正在研究將.NET Web應用程序移動到Azure的可行性。處理Web服務器方面的多角色設置似乎不僅僅是有能力的。Azure數據庫設計,分區數據表vs聯合?
我對Azure數據庫性能方面有所保留,並針對我們的需求採用了正確的橫向擴展策略。我們使用一個包含120個表的單個數據庫,其中80%的事務在10個表上運行。其餘部分用於各種帳戶級別設置和全局引用。最大的表格由500萬行組成,並且在剩餘的9個大表格上使用一組觸發器進行操作,每個大表格反過來保存500k到250k行之間的任何地方。
我最初的想法如下:
移動最大的表到它自己的數據庫實例和使用同義詞引用它。我現在認識到Azure DB似乎不支持跨數據庫實例的SYNONYMS。
使用聯合消除跨越多個Azure數據庫實例的工作負載。我們的數據庫只有5GB,所以這可能是一個不成熟的選擇?
使用具有SQL的更高規格虛擬機來爲數據庫提供服務。
我很欣賞這裏有許多未知因素,我不指望一個明確的答案,我只是想看看有什麼感受社區#1可以提供。
信息
- 當前設置:單一的SQL Server 2008 R2實例與具有12 GB RAM一個像樣的規範多核服務器上運行120臺單一的數據庫。
- 當前的性能非常好,我們可以在這方面進行擴展。
- 數據庫每月增長10%,嚴重依賴於關係數據,觸發器和複雜的存儲過程,因此很難將Azure表用作替代方案。
感謝您的輸入西蒙。我同意我們很可能很早就解決問題。由於我們爲了顯示有用的報告而執行的所有聯接,我無法想象我們的應用在SQL提供的關係模型之外運行。無可否認,數據庫的很多部分都可以進入NOSQL表格,核心財務函數在SQL中運行。我們的產品服務於英國市場,所以我不認爲在Co-Lo環境中擴展是不可能的,我只是討厭所有相關的硬件問題!不過,我喜歡Azure的概念,並且在虛擬機上運行數據庫將成爲我的下一個測試場景。 – QFDev 2013-03-08 10:40:03