Loading
0

一文读懂什么是数据仓库(DW),数据库和数据湖

什么是数据仓库

数据仓库是信息(对其进行分析可做出更明智的决策)的中央存储库。通常,数据定期从事务系统、关系数据库和其他来源流入数据仓库。业务分析师、数据工程师、数据科学家和决策者通过商业智能(BI)工具、SQL 客户端和其他分析应用程序访问数据。

数据和分析已然成为各大企业保持竞争力所不可或缺的部分。企业用户依靠报告、控制面板和分析工具从其数据中获得洞察力、监控企业绩效以及更明智地决策。数据仓库通过高效地存储数据以便最大限度地减少数据输入和输出(I/O),并快速地同时向成千上万的用户提供查询结果,为这些报告、控制面板和分析工具 由数据仓库提供支持。

如何架构数据仓库

数据仓库的架构包含多个层。顶层是通过报告、分析和数据挖掘工具呈现结果的前端客户端。中间层包括用于访问和分析数据的分析引擎。架构的底层是加载和存储数据的数据库服务器。数据使用两种不同类型的方式存储:1)经常访问的数据存储在最快的存储装置中(例如,SSD 驱动器),2)不经常访问的数据存储在便宜的对象存储区中,数据仓库将自动确保经常访问的数据被移进“快速”存储以便优化查询速度。

ETL的作用

数据仓库接收的数据源是不同的,要做到有效集成,需要抽取、转换、加载三个步骤,也就是ETL(Extract-Transform-Load)。

  • Extract:数据抽取,就是把数据从数据源读出来
  • Transform:数据转换,就是把数据转换为特定的格式
  • Load:数据加载,把处理后的数据加载到目标处。

使用数据仓库有哪些优势

数据仓库的优势包括:

  • 知情地做出决定
  • 整合多个来源的数据
  • 历史数据分析
  • 数据质量高、一致且准确
  • 将分析处理从事务数据库中分离出来,从而提高两个系统的性能

数据仓库、数据库和数据湖如何一起工作

通常,企业使用数据库、数据湖和数据仓库的组合来存储和分析数据。

数据仓库是专门为数据分析设计的,涉及读取大量数据以了解数据之间的关系和趋势。数据库用于捕获和存储数据,例如记录事务的详细信息。

与数据仓库不同,数据湖是所有数据(包括结构化、半结构化和非结构化数据)的中央存储库。数据仓库要求数据使用表格形式进行整理,Schema 通过它发挥作用。需要采用表格形式以便使用 SQL 来查询数据。但是,并非所有应用程序都要求数据为表格形式。有些应用程序,例如大数据分析、完整文本搜索和机器学习,即使是对于“半结构化”或完全非结构化的数据,也能够进行访问。

数据仓库与数据湖的对比

特性 数据仓库 数据湖
数据 来自事务系统、运营数据库和业务线应用程序的关系数据 所有数据,包括结构化、半结构化和非结构化
Schema 通常在数据仓库实施之前设计,但是也可以在分析时编写(写入型 Schema 或读取型 Schema) 写入在分析时(读取型 Schema)
性价比 使用本地存储获得最快的查询结果 更快地获得查询结果,存储成本较低,计算和存储分开
数据质量 可作为重要事实依据的高度监管数据 任何可以或无法进行监管的数据(例如原始数据)
用户 业务分析师、数据科学家和数据开发人员 业务分析师(使用监管数据)、数据科学家、数据开发人员、数据工程师和数据架构师
分析 批处理报告、BI 和可视化 机器学习、探索性分析、数据发现、流处理、运营分析、大数据和特征分析

数据仓库与数据库的对比

特性 数据仓库 事务数据库
适合的工作负载 分析、报告、大数据 事务处理
数据源 从多个来源收集和标准化的数据 从单个来源(例如事务系统)捕获的数据
数据捕获 批量写入操作通常按照预定的批处理计划执行 针对连续写入操作进行了优化,因为新数据能够最大程度地提高事务吞吐量
数据标准化 非标准化 Schema,例如星型 Schema 或雪花型 Schema 高度标准化的静态 Schema
数据存储 使用列式存储进行了优化,可实现轻松访问和高速查询性能 针对在单行型物理块中执行高吞吐量写入操作进行了优化
数据访问 为最小化 I/O 并最大化数据吞吐量进行了优化 大量小型读取操作

数据集市与数据仓库

数据集市是一种数据仓库,用于满足特定团队或业务部门(例如财务、营销或销售)的需求。它更小、更集中,并且可能包含最适合其用户社区的数据汇总。数据集市也可以是数据仓库的一部分。

数据仓库与数据集市的对比

特性 数据仓库 数据集市
范围 集中的多个整合主题领域 分散的特定主题领域
用户 组织级 单个社区或部门
数据源 多个来源 单个或多个来源,或数据仓库中已经收集的部分数据
大小 较大,可达数百 GB 到数 PB 较小,一般不超过数十 GB
设计 自上而下 自下而上
数据详细信息 完整且详细的数据 可能包含汇总数据

主流的数据仓库

国内最常用的是一款基于Hadoop的开源数据仓库,名为Hive,它可以对存储在HDFS的文件数据进行查询、分析。

Hive对外可以提供HiveQL,这是类似于SQL语言的一种查询语言。在查询时可以将HiveQL语句转换为MapReduce任务,在Hadoop层进行执行。

Hive的最大优势在于免费,那其他知名的商业数据仓库有那些呢?比如Oracle,DB2,Teradata。这里就不多加赘述,感兴趣的朋友可以联系在线客服,或在文章下方留言共同交流。

关于慧都数仓建模大师

慧都数仓建模大师能够快速、高效地帮助客户搭建数据仓库供企业决策分析之用。满足数据需求效率、数据质量、扩展性、面向主题等特点。

跨行业数据挖掘流程

基于企业的业务目标,进行数据理解、数据准备、数据建模,最后进行评价和部署,真正实现数据驱动业务决策。更多详情,请联系我们