天天看點

教你七步優化資料庫

使用者現在不僅需要更複雜和靈活的分析,還需要更及時的資訊——資料必須全天候可用,并且在許多業務中使用者要求在事件發生的幾小時内(在某些情況下,幾分鐘甚至幾秒)内可以通路支援決策的資料。公司還意識到,許多不同的流程需要使用相同的資料,是以需要使用不同的配置檔案。

   理想情況下,公司應在功能中立的資料模型中以盡可能小的形式保留詳細資料,這可以讓商業公司可以從廣泛的觀點和流程中提出任意數量的問題。基本前提是:始終可以聚合明細資料,但永遠不能分解摘要資料。這并不意味着你永遠不應使用摘要表;相反,它意味着您不應僅用摘要資料替換明細資料。

   如果所需分析需要明細資料,則無論技術如何,僅使用摘要表将會失敗。實施者和使用者必須共同努力,以了解業務需求及其驅動因素;然後他們需要使用最低侵入性的過程來滿足這些要求。

   建構摘要表,添加索引,強制執行優先級和非規範化資料的主要原因是提高性能。如果您可以使用任意數量的資料來提出任何問題,并獲得即時響應,那麼您将永遠不需要建構摘要或索引。

   這些結構可以作為其他限制情況的解決方法。它們的存在需要更多的空間、資料管理以及事件發生和采取有效行動之間的時間。問題是:如何在提高性能、最小化資料複制和資料管理之間取得平衡。
           
教你七步優化資料庫

優化的七個步驟

一、從中性資料模型開始,該模型被規範化并且不特定于任何函數或組

l 提供支援業務目标所需的最低級别的詳細資訊

l 通過定義的詳細程度解決未來需求

l 使用定義詳細資訊表的視圖以獲得安全性和并發性

l 啟用通路視圖,允許對正在更新的表進行選擇(無意圖讀取)以避免鎖定問題

二、實作視圖以簡化導航

l 幫助工具使用第三方工具和操作視圖以建立更好的結構化查詢語言(SQL)

l 提供前端工具可能需要的結構,以建立優化的SQL并消除對前端工具的依賴,了解市場上的每個資料庫

l 在視圖中嵌入優化的連接配接技術

l 為表格內建一層安全性

l 為每個業務部門提供其自己的邏輯功能化- 以使用者希望看到的方式呈現資料

l 允許資料存儲一次,然後通過視圖轉換,減少資料備援,確定一緻性并簡化資料管理

三、添加索引,範圍從簡單的技術(如二級索引)到複雜的結構(如覆寫索引,連接配接索引或聚合索引)

l 提供一個主要優點,因為系統與基礎資料表在同時維護它們

l 為索引附加一些開銷,是以要知道影響和權衡,并在成本與收益分析中識别它們

四、使用資料庫優先級架構強制确定優先級,以便在必要時使用資源保護關鍵的工作負載

l 優化SQL後,優化索引和視圖結構

l 提供更佳的可用容量使用,但不能提供更多容量

l 提供對工作負載的更好了解

l 系統擁擠時吸引人注意;在擁擠時代,要有優先級

l 讓商業公司提供優先方向

五、隻有當對更高性能的需求超過分析靈活性時,才進行理性總結和非規範化

l 遵循共存而非替換的政策,保留詳細資訊表以進行擴充分析,同時添加非規範化結構

l 滿足多種需求,可以為各種使用者和部門提供服務,證明管理成本合理

l 滿足使用者社群的更大利益而不要堅持功能目的

l 資料量和波動率的結果在成本效益分析中起着重要作用

六、考慮“非理性”摘要和非規範化來定制特定業務流程或報告的資料模型

l 當期望的性能超過靈活分析的需求時,需要結構來解決單個功能時

l 在考慮成本效益分析時,包括更高的資料管理和資源成本

l 通過維護基礎細節資料來最小化影響;當條件在未來發生變化時,這種不合理的結構可以在幾乎沒有影響的情況下消除

如果您還沒有達到預期的性能,那麼還有一個步驟。但是,它的成本相對較高。是以,在繼續之前,請確定預期的業務價值将超過使提取的資料與明細資料保持一緻所需的額外資料移動和管理的成本。
           

七、探索,擴充和導出

l 探索答案集的業務使用情況,并驗證業務成果的變化是否會推動預期的收入增長或成本降低,具體取決于應用程式。企業使用者是否願意支援這些期望,并且增強的性能是否能夠證明成本合理?

l 展開目前平台。性能要求是否至關重要,以確定新容量?

l 将資料從主資料倉庫導出到特定于應用程式的平台。在這種情況下,專門針對其應用調整的專用環境将提供對單個應用程式的更多控制。請記住重複資料的所有成本,增加時間延遲,以及需要管理和支援的新平台、軟體環境的成本。

反證以上步驟

采取這七個步驟需要了解每個步驟所涉及的成本以及這樣做帶來的好處。它還需要做出支援長期和短期需求的決策。在某些情況下,您可以建立摘要表或添加後來會丢棄的非規範化資料模型。隻要丢棄表不會導緻中斷或大量應用程式更改,這是可以接受的。確定這一點的一種方法是盡可能避免使用彙總或非規範化表作為更多下遊應用程式的輸入。

   在應用這七個步驟時,對每個提議的步驟執行成本效益分析,包括實體方面,例如磁盤空間,管理結構的資源以及由于時間延遲而導緻維護機會丢失。
           

可以從下面幾處考慮改進:

l 查詢性能和響應速度

l 使用者并發率

l 吞吐量

l 使用者滿意度和生産力

l 利用第三方工具

l 用于執行查詢的資源消耗