當資料庫伺服器變得十分繁忙導致效能下降時,你會怎麼辦?購買更多的硬體公升級你的伺服器,還是重新考慮資料庫伺服器設計使得資料庫平台具備良好的可公升級性呢?
如果你在乙個相當大的商店工作過,你很可能偶爾遇到過這些問題。有時答案是簡單地檢視一下當前的應用以及改進一些設計來提高效能。
分析階段
在你決定公升級你的資料庫環境之前,你應該制定乙個效能標準,然後,對查詢和模式做些修改,對照你制定的標準看效能是否有所提高,一旦可以使得你當前的系統能夠高效的工作,那麼你應該重新評估是否仍舊需要公升級系統。
擴大vs減小
擴大和減小是你可以用來改變你的資料庫環境以提高效能的兩種方法。下面我們對這兩種方法的優缺點做乙個比較。
擴大
這種方法,你要為資料庫系統購買新的或改進的硬體。這些增加的硬體可能包括快速控制器,快速硬碟子系統,更多的記憶體、更多的處理器等等。
優點:為機器增加新硬體毫無疑問將會加速你的應用的執行。在大多數環境下,簡單擴大伺服器將會提到足夠的效能達到滿意的地步。你可以使用64位新版sql
server來大大提高效能,該版本需要更多記憶體和更大的處理能力。
缺點:企業級伺服器機器上的硬體**十分昂貴,因此這可能會是乙個禁止的昂貴代價。如果等你有足夠的能力來擴大時,可能已到了需要減小的時候。
減小
這種方法是分解資料庫,將不同部分的資料分別存放在單獨的資料庫伺服器上,這種方法通常要對應用層和資料庫層做大量改變才能成功實施。
優點:這種方法允許你的設計更具可公升級性,因為如果你當前的結構正導致了乙個瓶頸,你就可以進一步分解設計,使用更多的機器分別處理資料。分解的典型模式是將邏輯相關的**分解到不同的伺服器上或者平行的分解你的**使得每個資料庫伺服器擁有全部資料集的一部分。你也可以將這兩種方法結合起來使用。
減小方法的另乙個優點是潛在地可以處理大的事務負載,而且你可以使用普通的硬體,這要比擴大公升級要購買的硬體便宜的多。此外,它通常不需要像擴大公升級那樣要購買企業級的伺服器。
缺點:進行這種公升級要比擴大的方法困難的多。事實上,建議只在下面這種情況下使用這種方法:當你的當前系統已經平均每分鐘處理n個事務,再也不能處理更多。這種方式的公升級之所以困難是因為它很難維護,擁有眾多的可移動部分,且很難邏輯地分割資料或**。因此處理被均衡的分配到單獨的伺服器上。
tim chapman是位於美國肯塔基州路易(斯)維爾一家銀行的sql
server資料庫管理員,擁有7年的it經驗,同時取得微軟sql
server 2000 和 sql
server 2005認證。
檢視本文國際**
SQL Server 控制鎖公升級
背景知識 鎖公升級的路線圖 行 頁 區 extent 區 表分割槽 表 alter table 控制鎖的公升級行為 1 table sql server 2008中的預設行為,設為這個值時,在表級別啟用了鎖公升級,不管表是否分割槽。2 auto 如果以分割槽就在分割槽級別啟用鎖公升級,如果沒有分割槽...
檢視SQL Server是否需要公升級
作為乙個sql server的資料庫 方法1 select version 方法2 select serverproperty productlevel asproductlevel,serverproperty productupdatelevel asproductupdatelevel,ser...
如何壓縮SQL Server資料庫
特別注意 請按步驟進行,未進行前面的步驟,請不要做後面的步驟 否則可能損壞你的資料庫.一般不建議做第4,6兩步 第4步不安全,有可能損壞資料庫或丟失資料 第6步如果日誌達到上限,則以後的資料庫處理會失敗,在清理日誌後才能恢復.下面的所有庫名都指你要處理的資料庫的庫名 1.清空日誌 dump tran...