从0开始学大数据-数据仓库理论篇

什么是数据仓库

数据仓库DW)是一个 面向主题的、集成的、稳定的、随时间变化的数据的集合,以用于支持管理决策过程前端

创建数据仓库的目的是为企业高层系统地组织、理解和使用数据以便进行战略决策。数据库

数据仓库的特征

数据仓库有如下几大特征:数组

(1)面向主题性能优化

主题是指用户使用数据仓库进行决策时所关心的重点领域。数据仓库经过一个个主题将多个业务系统的数据加载到一块儿,为了各个主题(如:用户、订单、商品等)进行分析而建,操做型数据库是为了支撑各类业务而创建。服务器

(2)集成性数据结构

数据仓库会将不一样源数据库中的数据汇总到一块儿,可是并非简单的复制,而是通过了抽取、筛选、清理、转换、综合等工做。工具

(3)稳定性即非易失的性能

数据仓库的数据是为了企业数据分析而创建,因此数据被加载后通常会保存较长时间。数据仓库中的数据大多表示过去某一时刻的数据,主要用于查询、分析,不会常常进行修改、添加等操做。开发工具

(4)随时间而变化即时变的大数据

数据仓库存储的是历史数据,它会按期从操做型应用系统中接收新的数据。因此数据仓库中的数据通常都有个时间维度。数据仓库实际是记录了系统的各个瞬时,并经过瞬态链接起来造成动画(即数据仓库的快照集合),从而在数据分析时再现系统运动的全过程。

为何使用数据仓库

一般数据仓库的数据是来自各个业务应用系统,而后业务系统中的数据形式是多种多样的,多是Oracle、MySQL、SQL Server 等关系数据库里的结构化数据,也有多是文本、CSV 等平面文件或Word、Excel 文档中的非结构化数据,还有多是 HTML、XML 等自描述的半结构化数据。这些数据通过一系列的 数据抽取转换清洗,最终以一种统一的格式装载进数据仓库。数据仓库里的数据做为分析用的数据源,提供给后面的 即系查询分析系统数据集市报表系统数据挖掘系统等。

使用数据仓库有如下好处:

  • 将多个数据源集成到单一数据存储,所以可使用单一数据查询引擎展现数据。
  • 缓解在事务处理数据库上因执行大查询而产生的资源竞争问题。
  • 维护历史数据。
  • 经过对多个源系统的数据整合,使得在整个企业的角度存在同一的中心视图。
  • 经过提供一致的编码和描述,减小或修正坏数据问题,提升数据质量
  • 一致性地表示组织信息。
  • 提供全部数据的单一通用数据模型,而不用关心数据源。
  • 重构数据,使数据对业务更有意义。
  • 向复杂分析查询交付优秀的查询性能,同时不影响操做型系统。
  • 开发决策性查询更简单。

数据仓库与传统数据库的区别

数据仓库虽然是从传统数据库系统发展而来,可是二者仍是存在着诸多差别。

数据仓库系统组成

数据仓库系统以数据仓库为核心,将各类应用系统集成在一块儿,为统一的历史数据分析提供坚实的平台,经过数据分析与报表模块的查询和分析工具 OLAP (联机分析处理)、决策分析、数据挖掘完成对信息的提取,以知足决策的须要。

整个数据仓库系统分为:源数据层、数据存储和管理层、OLAP 服务器层、前端分析工具层。

数据仓库系统体系结构

数据仓库系统各组成部分:

  • 数据仓库:数据仓库是整个数据仓库环境的核心,是数据存放的地方,提供了对数据检索的支持。支持海量数据的存储和快速检索。
  • 抽取工具:抽取工具将数据从各类数据源中提取出来,进行清洗转化,再存放到数据仓库中。
  • 元数据:元数据是描述数据仓库内数据的结构、位置和创建方法的数据。经过元数据进行数据仓库的管理和经过元数据来使用数据仓库。
  • 数据集市:数据集市是完整的数据仓库的一个子集,为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也能够称为部门数据或主题数据。其目的是减小数据处理量,使信息的利用更加快捷和灵活。
  • OLAP 服务:提供对存储在数据仓库中数据分析能力,可以快速进行复杂数据查询和汇集,并帮助用户分析多维数据中的各维状况。
  • 前端工具:主要包括各类报表工具、查询工具、数据分析工具、数据挖掘工具以及各类基于数据仓库或数据集市的应用开发工具。

ETL

ETL 用来描述 数据抽取清洗转换加载 的过程。ETL按照统一的规则集成并提升数据的质量,是将数据从数据源向目标数据仓库(DW)转化的过程。ETL 是商务智能/数据仓库的核心和灵魂。

1. 数据抽取

数据抽取是从各个不一样的数据源抽取数据并存储到操做数据存储(Operational Data Store,ODS)中的过程。

2. 数据清洗转换

数据清洗转是指按照预先设计好的规则将抽取的数据进行转换,使原本异构的数据格式能统一块儿来。

数据清洗转换包括 数据清洗数据转换 两个过程。

  • 数据清洗 是指对空数据、缺失数据进行补缺操做,对非法数据进行替换,保证数据的正确性。

  • 数据转换 是指对数据进行整合、拆分和变换。

    • 数据整合是指经过多表关联,将不一样类型数据之间可能存在潜在关联关系的多条数据进行合并,经过数据的整合,丰富数据维度,有利于发现更多有价值的信息。
    • 数据拆分是指按必定规则对数据进行拆分,将一条数据拆分为多条。
    • 数据变换是指对数据进行行列转换、排序、修改序号、去除重复记录变换操做。

3. 数据装载

数据装载是指将清洗转换完的数据加载到数据仓库中。数据加载的方式主要有:

  • 增量加载
    • 时间戳方式
    • 日志表方式
    • 全表对比方式
  • 全量加载
    • 全表删除再插入方式

数据集市

数据集市(Data Mart)是完整的数据仓库的一个子集,为了特定的应用目的或应用范围,而从数据仓库中独立出来的一部分数据,也能够成为部门数据或主题数据。而数据仓库正式由其全部的数据集市有机组合而成的的。且各数据集市间应协调一致,知足整个企业分析决策的须要。

创建数据集市与数据仓库,通常是采用 "自顶向下" 和 “自下而上” 相结合的设计思想。

数据仓库和数据集市的区别

  • 数据仓库向各个数据集市提供数据。前者是企业级的,规模较大,后者是部门级的,相对规模较小。
  • 若干个部门的数据集市组成一个数据仓库。数据集市开发周期短、速度快,数据仓库开发的周期长。速度慢。
  • 从其数据特征进行分析,数据仓库中的数据结构采用规范化模式,数据集市中的数据采用星型模式。一般数据仓库中的数据粒度比数据集市的粒度要细。

OLTP vs OLAP

OLTP

OLTP(联机事务处理) 是传统关系型数据库的重要应用之一,主要是基本的、平常的事务处理,对响应要求比较高,强条的是密集数据的更新处理的性能和系统的可靠性及效率。

OLTP 是事件驱动、面向应用的。

OLTP主要特色:

  • 对响应时间要求很是高;

  • 用户数量很是庞大,主要是操做人员;

  • 数据库的各类操做基于索引进行;

  • 对数据库的事务均已实现定义,查询简单,通常不涉及多表链接操做。

OLAP

OLAP(联机分析处理) 是一种多维分析技术,用来知足决策用户在大量的业务数据中,从多角度探索业务活动的规律性、市场的运做趋势的分析需求,并辅助他们进行战略发展决策的制定。

OLAP 系统按照数据存储方式能够分为:

  • ROLAP:将分析要用的多维数据存储在关系数据库中,并根据应用的需求有选择的定义一批视图,视图也是存储在关系数据库中。
  • MOLAP:将 OLAP 分析要用的多维数据物理上存储为多维数组的形式,造成“立方体”的结构。
  • HOLAP:把 MOLAP 和 ROLAP 两种结构的有点有机的结合起来,能知足用户各类复杂的分析需求。

OLAP 工具是针对特定问题的联机数据访问与分析,它经过多维的方式对数据进行分析、查询和报表。

多维分析是指对以多维形式组织起来的数据采起切片、切换、钻取、旋转等各类分析动做,以求剖析数据,使用户能从多个角度、多个侧面地观察数据库中的数据,从而深刻理解包含在数据中的信息。

  • 钻取:改变维的层次,变换分析的粒度。包括:
    • 向上钻取:在某一维上将低层次的细节数据归纳到高层次的汇总数据,或者减小维数。
    • 向下钻取:从汇总数据深刻到细节数据进行观察或增长新维度。
  • 切片和切换:在一部分维上选定值后,关心度量数据在剩余维上的分布。若是剩余的维只有两个,则是切片;若是有三个,则是切换。
  • 旋转:变换维的方向,即在表格中从新安排维的放置(如:行列互换)。

OLTP 和 OLAP 对比

-- END --
欢迎长按下图关注公众号DigNew


推荐阅读:

相关文章
相关标签/搜索