文/張家旭
企業資源計劃(ERP)、MΙS以及其它管理信息系統的開發一般都會應用到數據庫。開發應用軟件的使用效果受到數據庫性能的優劣影響,系統能否被研發出來和數據庫的性能好壞也有關聯。想要了解數據庫的性能的好壞要從多個方面考量,比如要考慮存儲空間的需求、査詢響應時間等問題。本文就數據庫的優化問題提出一些觀點。
懷利的ERP概念表明,ERP系統是一組應用程序。利用數據庫和信息技術系統,可以實現多個部門的無縫集成。集成性是ERP系統的標志特點,促進了物流、資金流和信息流的有效聯合。物流、資金流和信息流的整合可以降低企業成本,提高工作效率,提高部門之間的流動性。是企業策略發展方向的有力的后盾。
在企業資源規劃系統的開發和設計過程中,很多優秀的企業家都為ERP開發的更好提供了自己寶貴的經驗。它本身就是一個標準化的系統。ERP系統的運行過程非常嚴格,有自己的管理規范,只有遵循相同的標準、相同的流程、正確的操作,才能完成一個工作環節。ERP系統是基于詳細的數據幫助企業進行精細化管理。
在應用企業資源規劃系統之前,在沒有明確的規范之前同一筆業務會被反復核對重復輸入,信息的傳遞很慢并且不能共同使用,信息和使用者之間存在斷層,企業中的大部分信息沒有辦法提高其利用率,相關業務也不能很好地共享信息。ERP在企業中應用后,信息數據可以一起使用,提高工作效率,信息數據是企業的寶貴財富。方便領導和及時獲取各級信息,快速了解各部門工作、工作內容。
數據庫系統是怎樣維持ERP系統正常運轉的呢?第一,存儲和管理,基本操作各種數據如增產檢查和數據安全相關操作,如保護、備份、恢復、遷移、進出口等。另一類是約束和操作,通常由數據庫管理系統提供的約束規則、觸發器和存儲過程來實現。數據庫系統是企業資源規劃系統的重要組成部分。數據存儲和業務處理的ERP系統的基礎和核心是數據庫。數據庫中的數據是很多的,通常會有數以百計的表和數百萬條記錄,而且在系統工作期間,數據庫系統常常存在多用戶并發訪問和操作。因此,優化數據庫系統可以提高整個ERP系統的性能。
ERP系統具有權限控制的作用,而達到這一目的則是通過賦予用戶相應的角色來實現的。不同的角色由不同的用戶來承擔,這就會使效率降低,在不同的角色中同一個事務代碼會被多次重復,修改用戶權限的工作繁重。
主要體現在兩個方面:
3.2.1 運行性能測試
想要分析系統運行的穩定性的時候主要運用到數據運行性能分析,通俗地說就是觀測數據上線后系統是不是正常運行,有沒有出現錯誤等。
3.2.2 故障監控能力測試
ERP系統運行過程中可能會出現各種問題,比如因為人工操作失誤而導致的問題、系統設計本身就存在問題,數據運行故障監控測試就是要分析系統在面對這種錯誤時能否進行預警。
伴隨著企業信息化進程,數據在增長規模在變大用戶數目的劇增等,這些都會數據庫性能發生問題的誘因。數據庫的數量和系統的性能成反比,數據龐大就會使調用、查詢、更新等環節的操作時間變長。
索引是數據庫中的核心數據結構。它的基本目的是提高查詢的效率。索引的使用要按照原則進行,如不經常連接的字段由優化器自動生成索引等原則。如果在使用索引時查詢速度減慢了無法解釋的速度,嘗試使用系統工具檢查索引的完整性也是可以的,并在找到索引后修復問題。
數據倉庫和數據庫其實是不一樣的系統,數據倉庫和數據庫的出發點是有區別的,處理冗余的方式不同,記錄數據的方式是不一樣的。解決問題是數據倉庫的首要任務,在設置數據倉庫時,您將從決策問題開始。一般而言,建立數據倉庫有以下步驟:
(1)我們要收集的信息是終端客戶的需求,收集之后進行分析,分門別類劃分主題建立數據模型,所建立的數據模型要圍繞劃分的主題而定。該數據模型的特點是完整、清晰。這種特點對于企業來說是有利的。
(2)終端客戶的需要和數據源中包含很多隱藏信息需要我們去分析研究,關于數據倉庫中數據的物理存儲結構的計算可以設計數據結構事實表。
(3)倉庫中的數據模型和業務邏輯可以通過元數據去了解和認識。
(4)把獲取的數據按照不同主題分門別類的加載到數據倉庫中。
事實上,數據倉庫可以彌補ERP的缺陷。對于企業資源規劃系統而言,將面向交易和分析相結合,可以確保企業資源規劃系統能夠更好地管理企業的日常運營,并幫助企業在數據聚合和歸納過程中降低成本。為企業未來發展做出正確的決策分析提供了保障。在決策性分析中數據倉庫一直領先于其他的系統,對于企業資源規劃系統而言,將面向交易和分析相結合,可以確保企業資源規劃系統能夠更好地管理企業的日常運營,并幫助企業在數據聚合和歸納過程中降低成本。為企業未來發展做出正確的決策分析提供了保障。因此,ERP系統在面向分析方面的缺陷可以通過數據倉庫來解決。
數據庫的存儲功能是十分強大的,但不代表它是沒有缺點的不會出現問題的。首先,當要存儲的語句的邏輯性比較強的時候就會使句子比較長,這時候存儲功能就容易使句子的邏輯出現問題引發連鎖錯誤。因此,存儲過程可根據其相似觸發器的優化方法進行優化,并結合ERP系統的具體情況,認為部分業務邏輯應預先寫入應用程序中。為了提高企業資源規劃系統的總體效率和績效。
所以在進行系統數據庫設計時,應根據不同的存儲材料選擇合適的存儲方式,這樣才能達到真正的優化。一般來說,可以從以下幾個方面來考慮:
(1)應用程序來負責檢查數據的合法性,數據之間的約束條件,數據都是合法可靠的才是有意義的。
(2)當面對復雜多面的邏輯時,利用應用程序來提高開發和維護的效率。
(3)如果不能用通用語句實現它,則應該考慮使用應用程序。
指作為單個邏輯工作單元執行的一系列操作就是事務。它是一種機制,機制的內涵是只要有一步有錯誤則全部失敗,只有全部都成功才能成功。開始事務、提交事務和撤銷這三種動作是一個事務中必不可少的。數據庫保存著所有的修改成功的操作數據,只要有一個動作失敗,就無法成功,就必須恢復修改前的狀態。
引擎相當于一個紐帶,把數據庫和應用系統連接起來,讓采集、處理、輸出等環節環環相扣,有條不紊的運作,引擎是十分重要的參考參數,可以重置數據庫結構,在設計過程發揮引導作用。引擎與使用者之間是雙向的聯系,很高的自主性也是引擎的顯著的特點,有程序設計導致的錯誤是引擎可以預防和糾正的。
企業資源配置的規劃由ERP系統呈現,而企業的效益和這種配置的線性規劃模型是相關聯的,那么我們應該放在首位的任務就是建立線性規劃模型與模型的優化,同時這也是我們為之奮斗的最終的目標。項目要對企業的資源有所掌握,可以有以下兩種方法來實現。方法一是先建網、建庫、查詢、文件轉換,建立線性規劃模型,全力為實現自動化而努力,只是一件對人力對時間對技術要求都很高的工作實施起來是比較有難度的。想要把ERP系統的自動化水平提高,輔助功能也做好是一件具有積極意義的事情,但是對于處在發展中國家的我們來說資金和技術人員是個大困難,除了技術人員以外時間也是不可控的。這種研究類的一般需要耗費很多的時間,時間也是一種成本。方法二是工作面縮小,建立完善的線性規劃模型之后再適時地建網建庫等一系列的操作,從而提高系統自動化。在各方面允許的情況下我們可以先選用第二種方法,現在很多人都有一個誤區,以為必須要先建網才行,其實這不是必要的,可以先摸清企業的資源數據等,這種方法其實是更具有條理性的,操作的過程也是循序漸進的。在這里需要清楚的是線性規劃模型的幾個特點:靈活性、可視性、積木式的。所有企業都希望自己ERP系統是可以被靈活運用的并且系統本身是十分靈活的。而積木式實質上是說壓縮模型的一種方法。
數據庫性能的優化問題還在不斷地探索并不是很成熟的技術。針對不同的具體情況我們要及時做出適當調整。存儲過程可根據其相似觸發器的優化方法進行優化,并結合ERP系統的具體情況,認為部分業務邏輯應預先寫入應用程序中。為了提高企業資源規劃系統的總體效率和績效。在具體的優化操作時,要分析系統情況,迅速找出原因,選擇合理優化措施,采取相應的優化手段提高系統效率,但在數據庫的優化問題上要不斷地學習先進的理論和技術。