数据仓库【1】:简介

数据仓库【1】:简介

  • 1、诞生背景
    • 1.1、数据仓库诞生原因
    • 1.2、历史数据积存
    • 1.3、企业数据分析需要
  • 2、基本概述
    • 2.1、数据仓库(Data Warehouse,DW)
    • 2.2、数据仓库特点
    • 2.3、数据仓库 VS 数据库
  • 3、技术实现
    • 3.1、数据仓库建设方案
    • 3.2、传统数据仓库
    • 3.3、大数据数据仓库
  • 4、MPP & 分布式架构
    • 4.1、MPP架构
    • 4.2、分布式架构
    • 4.3、MPP + 分布式架构
  • 5、常见产品
    • 5.1、传统数据仓库
    • 5.2、大数据数据仓库

1、诞生背景

1.1、数据仓库诞生原因

  • 历史数据积存
  • 企业数据分析需要

1.2、历史数据积存

  • 历史数据使用频率低,堆积在业务库中,导致性能下降

1.3、企业数据分析需要

  • 各个部门自己建立独立的数据抽取系统,导致数据不一致

2、基本概述

2.1、数据仓库(Data Warehouse,DW)

  • 由数据仓库之父比尔·恩门(Bill Inmon)提出
  • 数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合
  • 主要用于组织积累的历史数据,并使用分析方法(OLAP、数据分析)进行分析整理,进而
    辅助决策,为管理者、企业系统提供数据支持,构建商业智能

2.2、数据仓库特点

  • 面向主题:为数据分析提供服务,根据主题将原始数据集合在一起
    数据仓库【1】:简介_第1张图片
  • 集成:原始数据来源于不同数据源,要整合成最终数据,需要经过抽取、清洗、转换的过程
  • 非易失:保存的数据是一系列历史快照,不允许被修改,只允许通过工具进行查询、分析
  • 时变性:数仓会定期接收、集成新的数据,从而反映出数据的最新变化

2.3、数据仓库 VS 数据库

  • 数据库面向事务设计,属于OLTP(在线事务处理)系统,主要操作是随机读写;在设计时尽
    量避免冗余,常采用符合范式规范来设计
  • 数据仓库是面向主题设计的,属于OLAP(在线分析处理)系统,主要操作是批量读写;关
    注数据整合,以及分析、处理性能;会有意引入冗余,采用反范式方式设计
    数据仓库【1】:简介_第2张图片

3、技术实现

3.1、数据仓库建设方案

  • 传统数据仓库
  • 大数据数据仓库

3.2、传统数据仓库

  • 由关系型数据库组成MPP(大规模并行处理)集群

3.3、大数据数据仓库

  • 利用大数据天然的扩展性,完成海量数据的存放
  • 将SQL转换为大数据计算引擎任务,完成数据分析
    数据仓库【1】:简介_第3张图片

4、MPP & 分布式架构

4.1、MPP架构

  • 传统数仓中常见的技术架构,将单机数据库节点组成集群,提升整体处理性能
  • 节点间为非共享架构(Share Nothing),每个节点都有独立的磁盘存储系统和内存系统
  • 每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供服务
  • 设计上优先考虑C(一致性),其次考虑 A(可用性),尽量做好P(分区容错性)
    架构优点
    • 运算方式精细,延迟低、吞吐低
    • 适合中等规模的结构化数据处理
      架构缺点
    • 存储位置不透明,通过Hash确定数据所在的物理节点,查询任务在所有节点均会执行
    • 并行计算时,单节点瓶颈会成为整个系统短板,容错性差
    • 分布式事务的实现会导致扩展性降低

4.2、分布式架构

  • 大数据中常见的技术架构,也称为Hadoop架构/批处理架构
  • 各节点实现场地自治(可以单独运行局部应用),数据在集群中全局透明共享
  • 每台节点通过局域网或广域网相连,节点间的通信开销较大,在运算时致力减少数据移动
  • 优先考虑的是P(分区容错性),然后是A(可用性),最后再考虑C(一致性)
    架构特点
    • 解决了单点故障问题,会将出错的任务调度到其他副本节点
    • 运算方式粗犷,吞吐量大
    • 扩展性极强,适合处理非结构化、半结构化数据
    • 需要将中间结果进行存储,且数据移动开销较大

4.3、MPP + 分布式架构

  • 数据存储采用分布式架构中的公共存储,提高分区容错性
  • 上层架构采用MPP,减少运算延迟

5、常见产品

5.1、传统数据仓库

  • Oracle RAC
  • DB2
  • Teradata
  • Greenplum

5.2、大数据数据仓库

  • Hive
  • Spark SQL
  • HBase
  • Impala
  • HAWQ
  • TIDB

你可能感兴趣的:(#,数据仓库,数据仓库,spark,大数据)