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