宋金平
(集寧師范學(xué)院計(jì)算機(jī)系,內(nèi)蒙古 烏蘭察布 012000)
數(shù)據(jù)庫(kù)是一種邏輯概念,是用來(lái)存放數(shù)據(jù)的倉(cāng)庫(kù),數(shù)據(jù)存放過(guò)程和數(shù)據(jù)的使用通過(guò)數(shù)據(jù)庫(kù)軟件來(lái)實(shí)現(xiàn)。數(shù)據(jù)庫(kù)由很多二維表組成,每個(gè)表里可以有很多字段,字段一字排開(kāi),對(duì)應(yīng)的數(shù)據(jù)一行一行寫(xiě)入表中。數(shù)據(jù)庫(kù)的美,在于能夠用二維表現(xiàn)多維關(guān)系。目前市面上流行的數(shù)據(jù)庫(kù)都是二維數(shù)據(jù)庫(kù)。如:Oracle、DB2、MySQL、Sybase、MS SQL Server 等。數(shù)據(jù)庫(kù)(DB-Database)是以一定的數(shù)據(jù)模型組織和存儲(chǔ)的,能為多個(gè)用戶(hù)共享的,獨(dú)立于應(yīng)用程序的,相互關(guān)聯(lián)的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)本身不是獨(dú)立存在的,它是數(shù)據(jù)庫(kù)系統(tǒng)的一部分。在實(shí)際應(yīng)用中,人們常常面對(duì)的是數(shù)據(jù)庫(kù)系統(tǒng)(DBS)。由于數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生使計(jì)算機(jī)應(yīng)用進(jìn)入了一個(gè)嶄新的時(shí)期,生活中的各個(gè)領(lǐng)域都與計(jì)算機(jī)有了聯(lián)系。數(shù)據(jù)庫(kù)技術(shù)時(shí)數(shù)據(jù)處理最理想的方法,是管理信息最先進(jìn)的工具。隨著網(wǎng)絡(luò)的出現(xiàn)和快速發(fā)展,現(xiàn)在數(shù)據(jù)庫(kù)技術(shù)已經(jīng)成為幾乎所有領(lǐng)域的基本組成部分。比如,要訪問(wèn)一個(gè)銀行網(wǎng)站查詢(xún)帳戶(hù)余額和交易信息時(shí),這些信息來(lái)自銀行的數(shù)據(jù)庫(kù)系統(tǒng);當(dāng)查詢(xún)某產(chǎn)品信息時(shí),產(chǎn)品信息來(lái)自該產(chǎn)品的數(shù)據(jù)庫(kù)系統(tǒng);在絡(luò)上查詢(xún)某人的基本資料時(shí),該人的信息來(lái)自某單位的人事管理系統(tǒng);當(dāng)訪問(wèn)在線書(shū)店、瀏覽書(shū)目或聽(tīng)音樂(lè)時(shí),實(shí)際上訪問(wèn)的是存儲(chǔ)在某個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)訪問(wèn)數(shù)據(jù)庫(kù)已經(jīng)成了每個(gè)人生活中的組成部分。
數(shù)據(jù)倉(cāng)庫(kù)是數(shù)據(jù)庫(kù)概念的更進(jìn)一步提升。目前社會(huì),任何組織生存和發(fā)展的重要環(huán)節(jié)是正確及時(shí)的決策,要想實(shí)現(xiàn)效益的最大化,只能充分利用、發(fā)掘其現(xiàn)有數(shù)據(jù)資源。不同領(lǐng)域在日常的工作中都會(huì)生成大量的數(shù)據(jù),將這些數(shù)據(jù)應(yīng)用于決策會(huì)有非常好的效果。如果能加上相關(guān)的外來(lái)數(shù)據(jù),則效果將更好。幾乎所有的領(lǐng)域都在計(jì)算機(jī)中存儲(chǔ)大量的數(shù)據(jù),例如一個(gè)企業(yè)生產(chǎn)、購(gòu)買(mǎi)、銷(xiāo)售過(guò)程中產(chǎn)生的數(shù)據(jù)及與客戶(hù)的聯(lián)系數(shù)據(jù)等。這些數(shù)據(jù)通常存儲(chǔ)在不同的地方,數(shù)據(jù)倉(cāng)庫(kù)能將這些分散的在不同平臺(tái)上的數(shù)據(jù)組織和加工,產(chǎn)生決策支持的數(shù)據(jù),進(jìn)一步支持?jǐn)?shù)據(jù)發(fā)掘、多維數(shù)據(jù)分析技術(shù)和數(shù)據(jù)查詢(xún)及報(bào)表數(shù)據(jù)等。因此數(shù)據(jù)倉(cāng)庫(kù)技術(shù)產(chǎn)生并發(fā)展起來(lái)了。
從邏輯角度說(shuō),數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)沒(méi)有區(qū)別,都是通過(guò)數(shù)據(jù)庫(kù)軟件實(shí)現(xiàn)的存放數(shù)據(jù)的地方,只不過(guò)從數(shù)據(jù)量來(lái)說(shuō),數(shù)據(jù)倉(cāng)庫(kù)要比數(shù)據(jù)庫(kù)更龐大得多。數(shù)據(jù)倉(cāng)庫(kù)主要用于數(shù)據(jù)分析和數(shù)據(jù)挖掘。數(shù)據(jù)倉(cāng)庫(kù)概念基本上采用了W.H.Inmon的定義:數(shù)據(jù)倉(cāng)庫(kù)是集成的、面向主題的、不可更新的、隨時(shí)間不斷變化的數(shù)據(jù)集合,以此支持內(nèi)部經(jīng)營(yíng)和管理中的決策的制定。通過(guò)使用數(shù)據(jù)倉(cāng)庫(kù),人們發(fā)現(xiàn)數(shù)據(jù)倉(cāng)庫(kù)是一種體系結(jié)構(gòu)、一種環(huán)境,它能將來(lái)自各種數(shù)據(jù)環(huán)境的數(shù)據(jù)進(jìn)行分析和組織,可以含有大量的歷史數(shù)據(jù),為決策管理活動(dòng)提供支持。數(shù)據(jù)倉(cāng)庫(kù)有如下特點(diǎn):
主題是一個(gè)抽象的概念,是較高層次信息系統(tǒng)中的數(shù)據(jù)綜合、歸并和利用的抽象。主題是一個(gè)數(shù)據(jù)集合,是在較高層次上對(duì)分析對(duì)象進(jìn)行了比較完整的、一致的數(shù)據(jù)描述。在數(shù)據(jù)倉(cāng)庫(kù)中主題是由若干關(guān)系表表現(xiàn)的,一個(gè)主題可以劃分成多個(gè)表,因此得出主題只是一個(gè)邏輯上的概念,同一主題的數(shù)據(jù)不必存儲(chǔ)在同一位置。面向主題是指數(shù)據(jù)倉(cāng)庫(kù)中的所有的數(shù)據(jù)都是按照主題進(jìn)行組織和管理的,數(shù)據(jù)倉(cāng)庫(kù)的創(chuàng)建、使用都圍繞著主題來(lái)實(shí)現(xiàn)。
數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是從結(jié)構(gòu)相異的、在不同位置存放的數(shù)據(jù)庫(kù)抽取來(lái)的,這些數(shù)據(jù)庫(kù)中的數(shù)據(jù)存放在許多不一致和重復(fù)的地方;數(shù)據(jù)倉(cāng)庫(kù)中的綜合數(shù)據(jù)無(wú)法從這些數(shù)據(jù)庫(kù)中直接得到。因此,數(shù)據(jù)在進(jìn)入數(shù)據(jù)倉(cāng)庫(kù)之前,必須進(jìn)行統(tǒng)一與綜合,統(tǒng)一源數(shù)據(jù)中的字段、數(shù)據(jù)類(lèi)型、單位不一致、字長(zhǎng)等存在矛盾的地方;在數(shù)據(jù)倉(cāng)庫(kù)內(nèi)部綜合、計(jì)算生成數(shù)據(jù)。
對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)主要是數(shù)據(jù)查詢(xún)操作,一般并不進(jìn)行增、刪、改等操作。數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)反映的是操作數(shù)據(jù)庫(kù)的歷史記錄,是不同時(shí)間點(diǎn)的數(shù)據(jù)庫(kù)操作結(jié)果快照的集合,以及基于這些快照的綜合數(shù)據(jù),而不是事務(wù)實(shí)時(shí)處理的數(shù)據(jù),所以數(shù)據(jù)倉(cāng)庫(kù)中存儲(chǔ)的是相對(duì)于數(shù)據(jù)庫(kù)來(lái)說(shuō)比較穩(wěn)定的數(shù)據(jù)。
數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)從裝入數(shù)據(jù)倉(cāng)庫(kù)到從數(shù)據(jù)倉(cāng)庫(kù)中刪除期間是不斷變化的。因?yàn)閿?shù)據(jù)倉(cāng)庫(kù)要隨著時(shí)間的變化不斷從數(shù)據(jù)庫(kù)中把經(jīng)過(guò)操作所得的變化數(shù)據(jù)增量存儲(chǔ)到數(shù)據(jù)倉(cāng)庫(kù)中,這種增加并不對(duì)原有數(shù)據(jù)進(jìn)行修改知識(shí)簡(jiǎn)單的照搬。數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)是有存儲(chǔ)期限的,如果數(shù)據(jù)在數(shù)據(jù)倉(cāng)庫(kù)中存放的時(shí)間超過(guò)了這個(gè)期限就會(huì)被刪除,這也是導(dǎo)致數(shù)據(jù)變化的一個(gè)原因。數(shù)據(jù)倉(cāng)庫(kù)中大部分?jǐn)?shù)據(jù)是綜合數(shù)據(jù),這些數(shù)據(jù)要隨著時(shí)間的變化不斷進(jìn)行重新綜合、計(jì)算產(chǎn)生新的綜合數(shù)據(jù)。
傳統(tǒng)的數(shù)據(jù)庫(kù)技術(shù)是以單一的數(shù)據(jù)資源表為中心,進(jìn)行數(shù)據(jù)修改、批處理等各種類(lèi)型的數(shù)據(jù)處理。隨著數(shù)據(jù)庫(kù)技術(shù)的普及,人們對(duì)數(shù)據(jù)處理的要求更高、更細(xì)。目前的數(shù)據(jù)處理主要有事務(wù)處理和分析處理。事務(wù)處理,是指對(duì)數(shù)據(jù)庫(kù)、表的日常操作,經(jīng)常是對(duì)一條或一組記錄做查詢(xún)或修改等操作,主要是為應(yīng)用服務(wù)的,在這個(gè)過(guò)程中人們主要關(guān)心的是數(shù)據(jù)的安全性、一致性和完整性及響應(yīng)速度。分析處理主要用于管理層的決策分析,是數(shù)據(jù)倉(cāng)庫(kù)的處理方式。兩者之間的存在的差異導(dǎo)致數(shù)據(jù)庫(kù)與數(shù)據(jù)倉(cāng)庫(kù)的分離,分清了數(shù)據(jù)處理的數(shù)據(jù)分析與數(shù)據(jù)操作的界限,從而由原來(lái)的以單一數(shù)據(jù)庫(kù)、表為中心的數(shù)據(jù)處理發(fā)展成為一種新的數(shù)據(jù)處理方式—數(shù)據(jù)倉(cāng)庫(kù)。
在事務(wù)處理中,用戶(hù)操作數(shù)據(jù)的特點(diǎn)是數(shù)據(jù)的存取操作多且而每次處理操作的時(shí)間短。因此,數(shù)據(jù)庫(kù)系統(tǒng)可以允許多個(gè)用戶(hù)按分時(shí)方式使用數(shù)據(jù)資源,同時(shí)保持較短的處理時(shí)間。在分析處理中,用戶(hù)數(shù)據(jù)操作方式與此完全不同,分析處理的應(yīng)用程序可能需要連續(xù)工作幾小時(shí)且要消耗大量的系統(tǒng)資源。
分析處理需要綜合的數(shù)據(jù),全面而正確的綜合數(shù)據(jù)是有效的分析和正確決策的必要前提,完整的數(shù)據(jù)收集,是得到可靠結(jié)果的前提。而事務(wù)處理的需求在于自動(dòng)化地處理業(yè)務(wù),滿(mǎn)足這種需求只需要相關(guān)的當(dāng)前數(shù)據(jù)就可以了。而對(duì)整個(gè)數(shù)據(jù)范圍內(nèi)的綜合應(yīng)用考慮得很少。事務(wù)處理將導(dǎo)致數(shù)據(jù)不一致問(wèn)題的存在,將這些不一致的數(shù)據(jù)收集起來(lái),要想供分析用必須對(duì)它們進(jìn)行相應(yīng)的轉(zhuǎn)換。事務(wù)處理能產(chǎn)生的是繁雜的細(xì)節(jié)數(shù)據(jù),這些數(shù)據(jù)不能簡(jiǎn)單的成為一個(gè)綜合的數(shù)據(jù)。對(duì)于需要綜合數(shù)據(jù)的系統(tǒng)應(yīng)用,必須由應(yīng)用程序自己將這些紛雜的數(shù)據(jù)進(jìn)行集成、綜合??墒?,數(shù)據(jù)集成是一項(xiàng)十分繁鎖的工作,由應(yīng)用程序完成將大大增加應(yīng)用程序的負(fù)擔(dān)。并且,這種集成需要經(jīng)常做。數(shù)據(jù)庫(kù)系統(tǒng)對(duì)數(shù)據(jù)集成的迫切需要是數(shù)據(jù)倉(cāng)庫(kù)做出準(zhǔn)確決策、分析的前提。
數(shù)據(jù)集成的方式有兩種:一種是應(yīng)用程序只在決策開(kāi)始時(shí)對(duì)數(shù)據(jù)進(jìn)行一次集成,此后的分析、決策將一直以這部分集成數(shù)據(jù)為基礎(chǔ),這種集成方式為靜態(tài)集成。另一種是集成過(guò)程周期性的執(zhí)行,分析、決策的集成數(shù)據(jù)具有時(shí)效性,這種集成方式為動(dòng)態(tài)集成。兩種集成方式的區(qū)別是不言而喻的,用靜態(tài)集成方式所得的分析、決策時(shí)建立在果實(shí)的數(shù)據(jù)基礎(chǔ)上的。數(shù)據(jù)庫(kù)的事務(wù)處理系統(tǒng)是不具備動(dòng)態(tài)集成的能力的。
在數(shù)據(jù)庫(kù)的事務(wù)處理過(guò)程中一般需要的是短期存儲(chǔ)的數(shù)據(jù)。而數(shù)據(jù)倉(cāng)庫(kù)的決策、分析過(guò)程需要的是大量的歷史數(shù)據(jù)。所以數(shù)據(jù)庫(kù)技術(shù)的關(guān)鍵點(diǎn)是解決對(duì)短期數(shù)據(jù)的及時(shí)快速的處理以滿(mǎn)足用戶(hù)的需求。而數(shù)據(jù)倉(cāng)庫(kù)則是對(duì)大量的歷史數(shù)據(jù)進(jìn)行存儲(chǔ)、分析得到綜合數(shù)據(jù)以供決策、分析過(guò)程使用。
在數(shù)據(jù)庫(kù)的事務(wù)處理過(guò)程中積累了大量的細(xì)節(jié)數(shù)據(jù),在決策、分析時(shí),需要對(duì)細(xì)節(jié)數(shù)據(jù)進(jìn)行不同程度的綜合。數(shù)據(jù)庫(kù)的事務(wù)處理系統(tǒng)不具備這種綜合能力,根據(jù)范式的規(guī)范化理論,這種綜合被認(rèn)為是一種數(shù)據(jù)冗余進(jìn)而加以限制。
基于以上原因數(shù)據(jù)倉(cāng)庫(kù)產(chǎn)生了。簡(jiǎn)而言之,數(shù)據(jù)倉(cāng)庫(kù)是面向分析的,數(shù)據(jù)庫(kù)是面向事務(wù)處理的。數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)是基本不變的,而數(shù)據(jù)庫(kù)的數(shù)據(jù)是由日常的業(yè)務(wù)產(chǎn)生的,是經(jīng)常更新的。數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)一般是由數(shù)據(jù)庫(kù)的數(shù)據(jù)經(jīng)過(guò)一定的規(guī)則轉(zhuǎn)換得到的。數(shù)據(jù)倉(cāng)庫(kù)主要用來(lái)分析數(shù)據(jù),一般是TB級(jí)的的數(shù)據(jù),比如決策支持系統(tǒng)、數(shù)據(jù)挖掘等。
總之,數(shù)據(jù)倉(cāng)庫(kù)的出現(xiàn),并不是取代傳統(tǒng)數(shù)據(jù)庫(kù)。目前,大部分?jǐn)?shù)據(jù)倉(cāng)庫(kù)還是用關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)管理的??梢哉f(shuō),傳統(tǒng)數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)相輔相成、各有千秋。
[1]施伯樂(lè)等.數(shù)據(jù)庫(kù)系統(tǒng)教程.[M],北京:高等教育出版社,2008.
[2]趙永霞.數(shù)據(jù)庫(kù)與數(shù)據(jù)倉(cāng)庫(kù)[J],信息縱橫,2009年第7期