数据仓库调研文章

/ 数据仓库 / 没有评论 / 110浏览

什么是数数据仓库

提供一种从操作型系统到决策支持环境的数据流架构模型。 数据仓库概念的提出,是为了解决和这个数据流相关的各种问题,主要是解决多重数据复制带来的高成本问题。

特性

大数据 是 具有 4V, 即 Volume、 Velocity、 Variety、 Veracity 特征 的 数据 集合, 用 中文 简单 描述 就是 大、 快、 多、 真。

基本四个部分:

  1. 基础功能库
  2. hdfs分布式文件系统
  3. yarn作业调度,资源管理框架
  4. mapReduce,大数据并行处理程序

大数据基本架构图

1533015449761.jpg

解决问题:

  1. 庞大的数据-关系型数据库也可以存储庞大的数据,但是成本较高(可靠性跟高)。关系型数据库并发瓶颈难以支撑实时查询。而且分析系统如果和业务系统使用相同的数据源容易产生问题,影响业务系统性能,对于业务系统数据产生影响。
  2. 敏感业务数据无法直接查询
  3. 连接多数据源时需要进行数据汇总,用于数据分析,查询,报表,bi产品等等
  4. 业务系统更新频繁,导致分析系统需要随时更新
  5. 各个业务数据格式,字段,列名等等数据内容不统一
  6. 业务系统缺少分析字段。需要创建相关的临时表

hadoop生态圈

hadoop是Apache Nutch 项目以google发表的分布式文件系统(GFS)理论建立起来的,主要包括两个方面。

后来蔓延到这样! 20160220192603313.png

各个技术体系都很庞大!

纵向维度

  1. 数据采集
  2. 数据清洗
  3. 数据计算
  4. 数据处理
  5. 数据存储
  6. 数据读取
  7. 数据分析
数据采集

数据采集面临几个问题。

技术选型

数据清洗

数据维护

数据整理

  1. hive手工清洗!建立维度表(时间维度,层次维度,杂项维度,业务维度等等)

    • 时间维度: 日子
    • 层次维度: 年-季度-月份。父子
    • 杂项维度: 订单(审核,取消,派送,下单等等)
    • 业务维度: 酒店,游记,攻略
    • 产品维度: web,手机,h5 对于mapreduce的封装。现在采用tez。采用hql语句对数据的处理。
  2. hbase nosql数据。建值对,列存储。 更像是对hdfs的封装,提供超大内存的hash,搜索引擎通过它来存储索引,方便查询操作。

数据计算 数据处理
数据存储
数据读取 sql引擎
数据分析

横向维度

hadoop技术难点

场景

ETL(数据提取、转换、加载)、实时流式(监控报警、风控等)、机器学习(推荐引擎、用户画像等)、非结构化分析(视频、图片、语音、文本等)、海量大数据在线存储(HBase)、搜索、OLAP(在线联机分析)

难点

维度表层次划分 hbase 数据库设计 数据存储结构和业务层次

spark 技术 方案还没有采用

目前实践的技术方案

sqoop1.4.7+sqoop1.99.7+flume+kafaka 日志收集

hive+hbase数据存储

presto+hive数据查询

hive on tez 离线计算模型

storm 实时计算,流式数据

hue 服务整合

oozie定时服务

zookeeper 分布式服务框架

phoenix + hbase 数据查询

先不用spark呢