【e良師益友網】數據庫的使用會隨着業務的和數據的增加變得遲鈍,當數據庫性能變得越開越糟糕的時候,技術人員每每能夠扭轉局面,下面爲你介紹幾個技術人員使用常使用的判別數據庫性能問題的方法數據庫
一、基礎設施縱向升級。投入更多的計算資源是解決問題的一般辦法,但這辦法實際上並不必定會讓性能得到提高。即便擴充了正確的資源池,能被有效利用 的資源數量仍然是有限的。對於承載於物理設備上的數據庫而言,添加基礎設施具備必定難度,而但虛擬或雲託管的數據庫則很是容易調配計算資源。 緩存
二、橫向擴展。一些相似羣集化MySQL的數據庫是可擴展的。然而,羣集的實際規模限制或對分區技術的要求影響了應用程序一致性或可靠性。羣集還要求改變系統管理模式,執行新的數據保護計劃。 服務器
三、激活歸檔。有時能夠經過歸檔較舊的數據來保持性能。存檔一般意味着一些數據再也不是徹底有用,但今天也有象Rainstor或Oracle內置的混合列式壓縮選項能夠處理靜態相關數據。因爲數據變得更加靜態和被壓縮處理,對這些歸檔數據的分析查詢性能實際上增長了。 網絡
四、利用閃存加速。閃存是一種很受歡迎的性能解決方案。當從戰略上部署時,它能夠加速的遠不只僅是一個數據庫。閃存加速的一大優勢是,閃存對數 據庫系統是透明的。閃存能被用做服務器或存儲緩存(例如Fusion-io)或固態驅動器,還能夠放在網絡中,例如Astute VisX全閃存存儲。一些供應商,如PernixData,將服務器閃存聚集到本身的存儲層,使得存儲和服務器的界限變得模糊。閃存目前仍然很是昂貴,而 且一些解決方案僅針對讀取IO進行了優化,並不必定可以消除當前的數據庫瓶頸。 性能
五、數據庫引擎升級。對數據庫性能進行優化的一個有意思的新辦法是升級數據庫內部引擎。例如,對於流行的MySQL和MongoDB數據庫,你 能夠從Tokutek找到高性能(免費、開源的)版本的內部引擎進行替換。替換數據庫引擎的過程對應用程序是透明的,不須要對基礎設施進行任何更改。 學習
額外的好處是,因爲數據庫索引和寫入數據的機制獲得更新,數據庫I/O操做也天然被一塊兒優化,更充分發揮閃存的優勢。 優化
經常在面對關鍵性能退化時,IT部門被迫做出缺少可靠回報的鉅額投資。爲了不在將來趕上愈來愈多基礎設施性能問題,不妨多留心以上列出的優化選項。更好的作法是,將這些選項放到第一位來主動探討,你將能夠避免數據庫性能問題。想學習更多數據庫教程知識可登陸e良師益友網。 spa