網站規模到了一定程度之後,該分的也分了,該最佳化的也做了最佳化,但是還是不能滿足業務上對效能的要求;這時候我們可以考慮使用主從庫。
主從庫是兩台伺服器上的兩個資料庫,主庫以最快的速度做增刪改操作+最新資料的查詢操作;從庫負責查詢較舊資料,做一些對實效性要求較小的分析,報表產生的工作。這樣做將資料庫的壓力分擔到兩台伺服器上從而保證整個系統響應的及時性。
SQL Server提供了複製機制來幫我們實現主從庫的機制。我們看下如何在sql server 2005中實踐:
實踐前需要新建立一個Test的資料庫,這個庫中建一個測試表。
1. 開啟sql server企業管理器,在物件總管裡面選擇複製本地發布,右鍵選擇建立發布
2. 開啟建立發布嚮導,點下一步,選擇發布資料的資料庫
3. 我們選擇Test資料庫,並點擊下一步,選擇發布類型
這裡我們選擇的是事務性發布,事務性發布保證資料在做更新之後儘可能快的分發到訂閱伺服器上。有關其他幾種發布類型的使用情境請參考msdn
4. 點擊下一步,選擇要發布的對象,這裡我們只對錶進行發布
5. 點擊下一步進入篩選資料設定,這裡我們要複製表的所有資料所以不做設定
6. 點擊下一步,指定何時運行快照,我們選擇初始話資料,並選擇預設的運行快照頻率
7. 繼續下一步,設定快照代理的運行賬戶,我們選擇sql server agent賬戶
8. 點擊下一步選擇建立發布,再次點擊下一步設定發布的名稱
9. 點擊完成,完成發布的設定,並建立發布,現在在本地發布出新添加了我們建立的發布
現在成功建立了發布,我們還需要建立訂閱:在本機訂閱檔案夾上右擊建立訂閱,通過嚮導可以很容易的建立訂閱,建立訂閱時可以選擇以發行者推送或者訂閱者主動的方式建立。具體步驟如下:
1. 通過右鍵菜單開啟建立訂閱,點擊下一步,選擇我們剛剛建立的發布作為訂閱源
2. 選擇是以推送還是以主動請求的方式同步資料,我們選擇主動訂閱
3. 設定執行分發代理的賬戶
4. 設定代理請求同步的頻率
5. 設定是否立即做資料的初始化操作
6. 完成建立訂閱
建立完成之後,我們可以通過在主庫表中插入n條資料,然後在從庫中查詢的方式驗證複製是否成功。
在Sql server2005中的複製建立起來很簡單,我們需要根據業務需要設定複製的類型和同步的頻率,下一篇我們談談如何有效在程式中使用主從庫。
相關隨筆:
Asp.Net 網站最佳化 資料庫最佳化措施 使用主從庫(下)