2011-10-15 57 views
6

任何人都可以告訴我一個簡單的數據庫和數據倉庫在實現方面的區別嗎?數據倉庫和數據庫在執行方面的差異

我知道,數據倉庫是用於分析而不是保持的紀錄,但我不明白他們如何結構不同

在我們餐桌等在數據倉庫中簡單的數據庫。我們如何從一個簡單的數據庫中創建一個數據倉庫

在這兩種情況下,我們都有查詢,所以他們每個人都有什麼不同?

+0

的可能重複的[是什麼一個數據庫和數據倉庫之間的差異?](http://stackoverflow.com/questions/3419353/what-is-the-difference-between-a-數據庫和 - 一個數據倉庫) – Pondlife

回答

9

的差別是在執行,即在表中的數據的表示(結構)。

一個簡單的數據庫通常是在規格化表中構造的,以最大限度地減少冗餘並優化對錶的寫入操作。這可以通過將大型表分成更小和更少冗餘的表來實現,以便將同一類型的數據隔離在一個位置,以便只需在一個表中添加,刪除和修改字段即可。然後通過它們之間定義的關係將較小的表連接在一起(這由外鍵完成),從而在檢索數據時導致表之間的許多連接。

另一方面,數據倉庫僅用於讀取操作,這就是爲什麼數據倉庫接受數據中一定程度的冗餘,因爲這樣會使讀取速度更快。在數據倉庫中,數據通常通過使用維度建模以所謂的Starschema方法進行結構化。這意味着您有一張大表(Facttable),其中包含所有相關記錄和度量(fx銷售額爲$),然後是許多描述實際表中值的次表(稱爲維度表)。 維度表可能類似於Date,SalesCountry,SalesPerson,Product等,它們都描述了事實表中的銷售額。然後使用外鍵將維度表與事實表相關聯,從而創建如圖中的星形,中間的事實表以及圍繞它的所有維度表以鏈接的形式創建。

注意:這是一個非常簡單的介紹,您當然應該參考一些datawarehouse litterature來閱讀更多詳細信息。尋找Ralph Kimball和Bill Inmon的書籍,他們是數據倉庫領域的大師。

1

從本質上說,這些數據和表的組織方式 - 以及更多...

  • 比爾·因蒙 「構建數據倉庫
  • 拉爾夫·金博爾「數據倉庫工具包
1

OLTP代表聯機事務處理。在任何預訂系統或技術術語「OLTP」中使用的系統指的是一類便於和管理面向交易的應用程序,通常用於數據輸入和檢索交易處理「

現在下一個問題到達了什麼OLTP和數據倉庫的區別是什麼?

有兩個之間有許多差異,所以我們會列出一些重要的區別:

  • 其中最重要的區別是:OLTP通常是在3NF(第三標準形),而數據倉儲不在3NF。因此,我們也可以推斷OLTP不會有任何種類的數據冗餘。

  • 數據倉庫用於存儲數月和數年的數據以支持歷史分析,而OLTP系統將數據存儲數週或數月。因此DB的大小也有很大的差異。在數據倉庫使用100GB-幾TB的情況下,OLTP使用100MB-100GB。

  • OLTP的高度規範化結構有助於優化操作,如UPDATE/INSERT/DELETE,其中數據倉庫具有非標準化結構(星型模式)以優化查詢性能。

  • 數據倉庫中的數據由ETL進程定期推送,最終用戶不直接更新數據倉庫,而在OLTP系統中,最終用戶定期向數據庫發出單獨的數據修改語句,因此OLTP系統啓動至今。

這些是OLTP和數據倉庫之間的幾個重要區別。

Read more