数据环境与数据形态
对于企业经营中产生的数据有三种形态:
- 生产数据:指某个生产系统的生产环境数据库中的数据。它会随着业务应用的变化而变化,是动态的,如用户的账户余额数据。
- 原始数据:对生产数据的解耦,包括数据脱敏、字段筛选、批量导出(将动态数据的“快照”保存下来)。其目的是为了防止生产数据与分析数据的数据直连,带来数据管理与应用的灾难
- 分析数据:对原始数据进行ETL之后的数据,主要从属性筛选、标准统一(如数据格式与字段含义的不一致)、优化存储(如创建索引,分区,分表存储)的角度进行ETL。
数据仓库平台
数仓本质是解决大批量数据的入口与出口问题,为分析与应用提供支持。该书作者认为能稳定提供 “顺滑” 数据服务的数仓需要注下面两点:
更新规则:
分全量更新与增量更新两种方式。更新过程中要注意“部分提交”与“数据断档”问题,可行的解决方案是增加中间表,如图
存储规则:
分析发现,数仓用户使用的交易数据90%集中在近三个月,60%的作业仅集中在近一个月。所以可行的办法是“大表拆小表,小表组视图”,提高访问效率。
大数据平台
之前一直把Hive与Hbase的概念混淆,趁此机会搞清楚。
Hbase | Hive |
---|---|
基于HDFS的非关系型数据库(KV型) | 关系型数据结构,是用SQL替代写MR的编程框架 |
物理表,适合存放非结构化的数据 | 纯逻辑表,本身不存储数据,完全依赖于HDFS和MR |
处理数据是基于列的模式 | 基于MR处理数据,而MR是基于行的模式 |
HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 | Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统 |
适合实时查询 | 适合查询分析统计 |