在这个用例中啥是数据仓库
Posted
技术标签:
【中文标题】在这个用例中啥是数据仓库【英文标题】:What is a Data warehouse in this use case在这个用例中什么是数据仓库 【发布时间】:2014-01-27 04:32:49 【问题描述】:我试图找出数据仓库、集群数据处理和查询数据仓库的工具/基础设施之间的区别(工具/服务/程序之间)
假设我有以下设置来为某个用例执行一些数据处理
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 可用于聚合不同粒度的数据(例如聚合每日数据以将它们与每月数据进行比较)。
【讨论】:
谢谢。那么我可以使用 Neo4j 或 Mongo 作为数据仓库吗?您还提到了 Map Reduce。您是指算法还是像 Hadoop 这样的 Map Reduce 实现?如果是这样,Hive 适合它在哪里? 另外,如果我从一堆不同的 RDBMS 中提取数据并使用 Hadoop 集群来处理它,那么在这种情况下,数据仓库是什么?谢谢。 我提到 Map-Reduce 是因为它在 NoSQL 框架中很常见,而且它是聚合不同粒度数据的好方法。一些数据存储有自己的实现(MongoDB、CouchDB),但没有什么能阻止您使用它的外部实现(如 Hadoop)。 数据仓库在哪里?一个简单的答案可能是:在哪里存储异构数据以及在哪里处理它们。 是的,Hive 绝对是实现这一目标的方法之一。以上是关于在这个用例中啥是数据仓库的主要内容,如果未能解决你的问题,请参考以下文章