存在的意义
传统的数据仓库和大数据仓库
传统数据仓库由关系型数据库组成MPP(大规模并行处理)集群
缺点:
存储位置不透明:通过Hash确定物理存储位置,查询任务在所有节点都执行
扩展性有限:不同库之间交互对网络压力很大,分库分表也有上限,分库分表越多性能就越差。分布式事务实现会导致扩展性下降
热点问题/单点瓶颈:分库分表后,可能发生热点数据都在同一节点情况下。改节点容易发生宕机和超时等异常情况
大数据仓库
利用大数据天然的扩展性,完成海量数据的存放。
多副本存储可以解决单点问题,调度和计算拆分,数据共享,单节点可以局部运行
将SQL转为大数据计算引擎任务,完成数据分析
困难:
SQL支持率,分布式事务支持
数据仓库架构
架构
ETL
ETL 工具
结构化数据工具:Sqoop,Kettle,Datastage,Informatica,Kafka
非/半结构化数据工具:Flume,Logstash
建模
ROLAP
MOLAP
常见的MOLAP产品:Kylin,Druid多维分析
表类型
具体事实表
累积快照事实表实现方式
方式三更实用,减少冗余数据的情况
ETL策略
案例
简单架构例子