資料庫與資料倉儲的區別

2022-03-12 02:17:55 字數 1709 閱讀 3117

首先,定義三個概念:資料庫軟體、資料庫、資料倉儲。

資料庫軟體:是一種軟體,可以看得見,可以操作。用來實現資料庫邏輯功能。屬於物理層。

資料庫:是一種邏輯概念,用來存放資料的倉庫。通過資料庫軟體來實現。資料庫由很多表組成,表是二維的,一張表裡可以有很多字段。字段一字排開,對應的資料就一行一行寫入表中。資料庫的美,在於能夠用二維表現多維關係。目前市面上流行的資料庫都是二維資料庫。如:oracle、db2、mysql、sybase、ms sql server等。

資料倉儲:是資料庫概念的公升級。從邏輯上理解,資料庫和資料倉儲沒有區別,都是通過資料庫軟體實現的存放資料的地方,只不過從資料量來說,資料倉儲要比資料庫更龐大得多。資料倉儲主要用於資料探勘和資料分析。

接下來,就是詳細說明了。在it的架構體系中,資料庫是必須存在的。必須要有地方存放資料。比如現在的網購,**,京東等等。物品的存貨數量,貨品的**,使用者的賬戶餘額之類的。這些資料都是存放在後台資料庫中。或者最簡單理解,我們現在微博,qq等賬戶的使用者名稱和密碼。在後台資料庫必然有一張user表,字段起碼有兩個,即使用者名稱和密碼,然後我們的資料就一行一行的存在表上面。當我們登入的時候,我們填寫了使用者名稱和密碼,這些資料就會被傳回到後台去,去跟表上面的資料匹配,匹配成功了,你就能登入了。匹配不成功就會報錯說密碼錯誤或者沒有此使用者名稱等。這個就是資料庫,資料庫在生產環境就是用來幹活的。凡是跟業務應用掛鉤的,我們都使用資料庫。

而資料倉儲則是bi下的其中一種技術。由於資料庫是跟業務應用掛鉤的,所以乙個資料庫不可能裝下一家公司的所有資料。資料庫的表設計往往是針對某乙個應用進行設計的。比如剛才那個登入的功能,這張user表上就只有這兩個字段,沒有別的欄位了。但是這張表符合應用,沒有問題。但是這張表不符合分析。比如我想知道在哪個時間段,使用者登入的量最多?哪個使用者一年購物最多?諸如此類的指標。那就要重新設計資料庫的表結構了。對於資料分析和資料探勘,我們引入資料倉儲概念。資料倉儲的表結構是依照分析需求,分析維度,分析指標進行設計的。資料倉儲的資料**於那些後台持續不停運作的資料庫表。資料的搬運就牽涉到另乙個技術叫etl。這個過程就是資料從乙個資料庫到了資料倉儲。舉個例子:

一家公司有5個分公司,月末要進行財務統計。那每家分公司都有自己的資料庫可對自己分公司進行資料統計,可是,這5家分公司各自資料庫的表結構設計都不同。可以理解為資料庫中的表的數量不同,表中的字段也不同。如果要統計整個公司,那勢必要制定統一標準。那就用到資料倉儲,資料倉儲作為乙個新的彙總資料庫,定義表的數量和字段內容。那各家分公司就要根據總公司的標準將自己資料庫中的資料向總公司的字段安排靠攏。當然這個過程就交給etl中的t來完成,transform轉換。e是extract,l是load。抽取,匯入。那這樣,資料就被運送到資料倉儲中了。統計學告訴我們,樣本要足夠多,得出的結論才能更準確,更具普遍性。這也就是要將各地的資料庫資料彙總到乙個資料倉儲之中的原因。

資料倉儲所用的資料庫軟體,聽的比較多的是teradata。用下來感覺teradata也是很強悍的。資料倉儲對於資料軟體的要求是非常高的,對硬體要求也高,所以能夠用得起資料倉儲的公司都是有錢的主。teradata是軟體與硬體繫結的。也就是說td公司會給你送來乙個大機櫃,裡面是一台計算機伺服器和儲存裝置。伺服器中已經安裝好資料庫軟體了。資料探勘,資料統計對映到資料庫軟體這裡的操作,就是排序和分組。對於海量資料庫來說,排序是很可怕的事情。資料倉儲每天將承受住大量的外來資料往庫里插入,往資料庫裡插資料,也是很慢的。所以資料倉儲的技術在於調優,架構不解決更本性問題。而普通生產資料,可以通過架構來調整,相對來說更注重ha,一般做資料庫集群。

題外話,集群就是雲計算的底層架構實現。

資料庫與資料倉儲的區別

簡而言之,資料庫是面向事務的設計,資料倉儲是面向主題設計的。資料庫設計是盡量避免冗餘,一般採用符合正規化的規則來設計,資料倉儲在設計是有意引入冗餘,採用反正規化的方式來設計。資料庫是為捕獲資料而設計,資料倉儲是為分析資料而設計,它的兩個基本的元素是維表和事實表。維是看問題的角度,比如時間,部門,維表...

資料庫與資料倉儲的區別

資料庫 傳統的關係型資料庫的主要應用,主要是基本的 日常的事務處理,例如銀行交易。資料倉儲 資料倉儲系統的主要應用主要是olap on line analytical processing 支援複雜的分析操作,側重決策支援,並且提供直觀易懂的查詢結果。我嘗試著再補充些具體的事例來說明,這樣更可以幫助...

資料庫與資料倉儲的區別

資料庫 傳統的關係型資料庫的主要應用,主要是基本的 日常的事務處理,例如銀行交易。資料倉儲 資料倉儲系統的主要應用主要是olap on line analytical processing 支援複雜的分析操作,側重決策支援,並且提供直觀易懂的查詢結果。我嘗試著再補充些具體的事例來說明,這樣更可以幫助...