資料倉庫通常是一個數據庫,它會明智地使用非規範化表設計來支援某些報告查詢,目的是構建面向資料分析的整合化資料環境,可以為企業提供決策支援。這在資料分析裡面查詢調取資料的時候就非常方便。
資料庫有以下特點:
1、 面向主題
2、 整合的
3、 穩定的
4、 時變的
如果使用非規範化設計,則可以使資料庫針對某些查詢進行最佳化。如果我們需要針對大量資料(例如數十億行)進行報告,則這是理想的一種方式。
任何型別的最佳化都自然會針對某些查詢進行最佳化,但會以犧牲所有其他查詢為代價,完事都是有得有失。因此,我們就需要首先定義要為其設計資料倉庫的報表查詢。
資料分析過程中的規範化規則指導我們建立資料值重複最少的表,因此資料異常風險最小,而非規範化設計會不小心打破這些規則,以使表的結構更像是查詢結果集而不是一堆相互關聯的表,那麼這其實就違背了我們的初衷。
當我們在使用非規範化表設計時,更新變得困難,因為任何給定的資訊都可能冗餘儲存。我們在操作時必須更新所有副本,不然的話最終將獲得與自身不一致的資料。最終,如果我們用錯誤的方式對其進行了更新,那麼我們就再也無法分辨出正確的值。
出於這個原因,我們經常會看到一個可丟棄的資料倉庫。我們透過轉換規範化資料庫中的資料來載入資料倉庫。如果資料倉庫報錯或出現內部異常,則將其丟棄並使用原始資料重新開始。我們通常將資料從規範化資料庫複製到資料倉庫的過程稱為ETL(提取,轉換和載入)。
由於可能存在多種報告型別,因此給定的規範化資料庫可能具有多個ETL作業,以將其複製到多個不同的資料倉庫中,每個倉庫均針對各自的報告查詢進行了最佳化。
資訊科技與資料智慧大環境下,資料倉庫在軟硬體領域、Internet 和企業內部網解決方案以及資料庫方面提供了許多經濟高效的計算資源,可以儲存極大量的資料供分析使用,且允許使用多種資料訪問技術的成本趨於合理,並且硬體解決方案也更為成熟。在資料倉庫應用中主要使用的技術如下:
1、 計算的硬體環境、作業系統環境、資料庫管理系統和所有相關的資料庫操作、查詢工具和技術、應用程式等各個領域都可以從並行的最新成就中獲益。
2、 分割槽功能使得支援大型表和索引會更加容易,同時也提高了資料管理和查詢效能。
3、 資料壓縮功能降低了資料倉庫環境中通常需要的用於儲存大量資料的磁碟系統的成本,同時不斷更新的壓縮技術也已經消除了壓縮資料對查詢效能造成的負面影響。
對於想成為資料分析師的小夥伴們來說,資料倉庫是一塊必須掌握的內容,而已經從事資料分析工作的小夥伴們則是更加要注意自己對資料倉庫的掌握和運用。