2014-01-27 70 views
0

我試圖找出差異(工具/服務/程序之間),數據倉庫,集羣數據處理和工具/基礎設施之間,用於查詢數據倉庫什麼是數據倉庫在這種使用情況下

所以我們可以說我有以下設置執行一些數據處理針對某一特定用途的情況下

Hadoop Cluster for Distributed Data processing 
Hive for providing infrastructure and Functions for querying data from a data warehouse 
My data sitting in an RDBMS or a NoSQL database 

在上面的例子中,究竟什麼是數據倉庫?我天真的大腦認爲它是RDBMS或NoSQL數據庫在上述背景下是數據倉庫。但是根據定義,不是數據倉庫是用於報告和數據分析的數據庫嗎? (定義無恥地從維基百科竊取)。那麼我可以將傳統的RDBMS/NoSQL數據庫稱爲數據倉庫嗎?謝謝。

回答

1

由於數據倉庫的一個主要功能是彙總來自多個數據庫(具有不同模式)的數據,因此您不能每個關係數據庫系統調用一個數據倉庫。通常通過「star schema」完成,允許將多個維度和多個粒度組合在一起。

因爲NoSQL數據庫系統(基於圖形或基於map-reduce)是無模式的,它們實際上可以存儲來自不同模式的數據。此外,Map-Reduce可用於彙總不同粒度的數據(例如彙總每日數據以將其與每月數據進行比較)。

+0

謝謝。那麼我可以使用Neo4j或Mongo作爲數據倉庫嗎?你還提到了Map Reduce。你是指Hadoop算法還是Map Reduce實現?如果是這樣的話,Hive適合它嗎? – user6123723

+0

另外,如果我從一堆不同的RDBMS中提取數據並使用Hadoop集羣來處理它,那麼在這種情況下什麼是數據倉庫?謝謝。 – user6123723

+0

我提到Map-Reduce,因爲它在NoSQL框架中都很常見,並且它是聚合不同粒度數據的好方法。一些數據存儲有自己的實現(MongoDB,CouchDB),但沒有什麼能阻止你使用它的外部實現(比如Hadoop)。 –

相關問題