• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    數據庫和數據倉庫的區別

    發布: 2008-5-05 13:07 | 作者: 王翔 | 來源: 本站原創 | 查看: 39次 | 進入軟件測試論壇討論

    領測軟件測試網 簡而言之,數據庫是面向事務的設計,數據倉庫是面向主題設計的。   數據庫一般存儲在線交易數據,數據倉庫存儲的一般是歷史數據。
      數據庫設計是盡量避免冗余,一般采用符合范式的規則來設計,數據倉庫在設計是有意引入冗余,采用反范式的方式來設計。
      數據庫是為捕獲數據而設計,數據倉庫是為分析數據而設計,它的兩個基本的元素是維表和事實表。維是看問題的角度,比如時間,部門,維表放的就是這些東西的定義,事實表里放著要查詢的數據,同時有維的ID。
      單從概念上講,有些晦澀。任何技術都是為應用服務的,結合應用可以很容易地理解。以銀行業務為例。數據庫是事務系統的數據平臺,客戶在銀行做的每筆交易都會寫入數據庫,被記錄下來,這里,可以簡單地理解為用數據庫記帳。數據倉庫是分析系統的數據平臺,它從事務系統獲取數據,并做匯總、加工,為決策者提供決策的依據。比如,某銀行某分行一個月發生多少交易,該分行當前存款余額是多少。如果存款又多,消費交易又多,那么該地區就有必要設立ATM了。
      顯然,銀行的交易量是巨大的,通常以百萬甚至千萬次來計算。事務系統是實時的,這就要求時效性,客戶存一筆錢需要幾十秒是無法忍受的,這就要求數據庫只能存儲很短一段時間的數據。而分析系統是事后的,它要提供關注時間段內所有的有效數據。這些數據是海量的,匯總計算起來也要慢一些,但是,只要能夠提供有效的分析數據就達到目的了。
      數據倉庫,是在數據庫已經大量存在的情況下,為了進一步挖掘數據資源、為了決策需要而產生的,它決不是所謂的“大型數據庫”。那么,數據倉庫與傳統數據庫比較,有哪些不同呢?讓我們先看看W.H.Inmon關于數據倉庫的定義:面向主題的、集成的、與時間相關且不可修改的數據集合。
      “面向主題的”:傳統數據庫主要是為應用程序進行數據處理,未必按照同一主題存儲數據;數據倉庫側重于數據分析工作,是按照主題存儲的。這一點,類似于傳統農貿市場與超市的區別—市場里面,白菜、蘿卜、香菜會在一個攤位上,如果它們是一個小販賣的;而超市里,白菜、蘿卜、香菜則各自一塊。也就是說,市場里的菜(數據)是按照小販(應用程序)歸堆(存儲)的,超市里面則是按照菜的類型(同主題)歸堆的。
      “與時間相關”:數據庫保存信息的時候,并不強調一定有時間信息。數據倉庫則不同,出于決策的需要,數據倉庫中的數據都要標明時間屬性。決策中,時間屬性很重要。同樣都是累計購買過九車產品的顧客,一位是最近三個月購買九車,一位是最近一年從未買過,這對于決策者意義是不同的。
      “不可修改”:數據倉庫中的數據并不是最新的,而是來源于其它數據源。數據倉庫反映的是歷史信息,并不是很多數據庫處理的那種日常事務數據(有的數據庫例如電信計費數據庫甚至處理實時信息)。因此,數據倉庫中的數據是極少或根本不修改的;當然,向數據倉庫添加數據是允許的。
      數據倉庫的出現,并不是要取代數據庫。目前,大部分數據倉庫還是用關系數據庫管理系統來管理的?梢哉f,數據庫、數據倉庫相輔相成、各有千秋。
      補充一下,數據倉庫的方案建設的目的,是為前端查詢和分析作為基礎,由于有較大的冗余,所以需要的存儲也較大。為了更好地為前端應用服務,數據倉庫必須有如下幾點優點,否則是失敗的數據倉庫方案。
      1.效率足夠高?蛻粢蟮姆治鰯祿话惴譃槿、周、月、季、年等,可以看出,日為周期的數據要求的效率最高,要求24小時甚至12小時內,客戶能看到昨天的數據分析。由于有的企業每日的數據量很大,設計不好的數據倉庫經常會出問題,延遲1-3日才能給出數據,顯然不行的。
      2.數據質量?蛻粢锤鞣N信息,肯定要準確的數據,但由于數據倉庫流程至少分為3步,2次ETL,復雜的架構會更多層次,那么由于數據源有臟數據或者代碼不嚴謹,都可以導致數據失真,客戶看到錯誤的信息就可能導致分析出錯誤的決策,造成損失,而不是效益。
      3.擴展性。之所以有的大型數據倉庫系統架構設計復雜,是因為考慮到了未來3-5年的擴展性,這樣的話,客戶不用太快花錢去重建數據倉庫系統,就能很穩定運行。主要體現在數據建模的合理性,數據倉庫方案中多出一些中間層,使海量數據流有足夠的緩沖,不至于數據量大很多,就運行不起來了。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 數據倉庫 數據庫


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>