我想用必要的文献参考来定义数据仓库。
我在维基百科上发现了wiki
DW是来自一个或多个不同来源的集成数据的中央存储库。它们将当前和历史数据存储在一个位置,用于为整个企业中的工作人员创建分析报告。
这是否意味着它始终是数据仓库下的关系数据库,还是可以是任何类型的存储库?
在An Architecture Framework for Complex Data Warehouses中,术语数据仓库也用于复杂数据,这意味着视频,图像等,但术语数据仓库在该论文中仍未定义。
“数据仓库”主要是信息系统概念,其描述(例如公司/企业)数据的集中和可信来源。
来自维基百科:“DW是来自一个或多个不同来源的集成数据的中央存储库。它们将当前和历史数据存储在一个地方,用于为整个企业的员工创建分析报告。”
我认为Kimball集团是该主题最权威的来源之一,因为他们二十多年来一直在开发他们的框架和方法,他们也一直将该框架应用于不同的业务和技术领域,并分享结果和结果这个的。
Kimball的The Data Warehouse Toolkit是关于该主题的参考书之一,它将数据仓库定义为“专门用于查询和分析的交易数据的副本”。
Bill Inmon也被认为是数据仓库的先驱之一,并将数据仓库定义为“面向主题,集成,时变和非易失性的数据集合,以支持管理层的决策过程”
数据仓库不必在关系数据库系统上实现,尽管在RDBMS中实现Kimball的维度模型或支持“可连接”表(例如Redshift,Presto,Hive)概念的不同数据库系统是很常见的。
最近对数据架构的补充,完全适应复杂的数据类型,是data lake的概念,它通常是一个数据存储,几乎可以处理任何类型的数据类型(例如S3,HDFS),可以直接分析(例如MapReduce在S3上的XML文件上)或处理成不同的格式或数据模型(如维度模型)。
编辑以下评论:
数据仓库和数据湖是独立的系统,可以用于不同的目的,可以/应该是互补的,并且都是更大的数据架构的一部分。数据湖作为一个概念,可以只是数据仓库中维度模型的另一个数据源(尽管数据湖的技术实现可以直接查询原始数据)。
您可以将Data Lake视为“着陆区”,其中多个系统以“复杂/原始格式”转储数据,例如来自客户支持电话的MP3文件,来自Web服务器的gzip压缩日志。这意味着坐在那里用于历史目的并进一步处理成可以容易地分析/报告的格式,例如,从MP3文件中提取文本。
数据仓库还聚合来自不同系统的数据,但数据被建模为适合报告的格式(如维度模型),其模型反映业务/域的流程和事务,并且通常是高度策划的。
想象一下:如果您使用Web服务器日志记录对在线商店的访问,您可以将gzip压缩日志(“事务数据”)保存在数据湖中,然后将数据处理为维度模型(如this),这将是“专门用于查询和分析的交易数据副本”,因此业务用户可以在Excel或其他一些报表工具中轻松浏览它。