1、数据仓库与数据库

数据仓库是数据库概念的升级,和数据库相比,数据仓库要比数据库更加庞大;

数据仓库主要用于分析数据,数据库主要用于捕获数据;

数据仓库主要存储历史数据,数据库存储在线交易数据;

数据仓库的基本元素是维度表,数据库的基本元素是事实表。

数据仓库的组成部分包括数据抽取工具、数据库、信息发布系统、数据仓库管理、元数据、数据集市、访问工具。

数据仓库的数据建模分为四个阶段,分别是业务建模、领域概念建模、逻辑建模、物理建模。

2、为什么要数据仓库

为什么要建设数据仓库呢? 在传统数据库里面, 我们有很多东西是实现不了的;

比如:

1) 问:我想看到任何一个用户的任何时间的任何一个状态! ,就相当于4维和5维的关系,我们无法看到昨天任何一个人的任何一个细节,我们看到的都是当前的,  mysql数据库也一样,只是最终状态的展现,不保存历史, 当然,这和mysql建模也有关系.

答:mysql数据库是无法实现的, 因为没有保存历史.  但是hive可以

2) 问:mysql的数据怎么用作模型数据,怎么实现算法

答:mysql可以导下来excal表格数据,然后用excal表格数据作为数据源,但是当时太low, 如果数据量稍微一大,就GG了, 但是hive可以, 不需要导,直接读取就行

3) 问:mysql数据量如果多了,怎么办?

答:mysql数据量如果多了, 可以优化,可以增加表,增加库,增加配置等,但这不是最终解决办法,但是hive可以, 理论上可以无限叠加数据,只要你磁盘足够.

等等等等,实际应用中的例子太多了;

3、数据仓库的好处

如果mysql没有使用kuttle等传统调度工具的话, 很难受的,每一次提取数据都得从底层去提取, 太耗功率,而且容错率极低.

数据仓库就不一样了, 所有的数据都开发成中间件, 都整理好成维度表,按照分区,增全量,干干净净,整整洁洁,数据提取,展示超级方便!

4、数据仓库的建设

业务数据库 -> sa(按照业务需要根据时间抽取增全量,一般都是增量,无分区,每天最新分区) -> ods(数据明细层,有分区,每一天的sa层数据=ods的一个分区) -> dws(轻度汇总层,

将所有的需要计算的数据,都提前计算好,放到dws层,按照情况定不定分区,我们做维度渐变,需要分区,)

业务数据库(mysql) ->sa(通过sqoop抽取) -> ods -> dws -> dwd -> dm -> app层

sa(缓冲层): 直接从mysql和MB用Sqoop抽取的,每天只保存一份,根据需求卡时间抽,包括全量增量

ods(数据明细层): 数据明细层,有分区,每一天的sa层数据=ods的一个分区,这一层的数据经过简单的ETL清洗,比如说去除一些不合逻辑的,去重的,字段命名不规范的.

dws(轻度汇总层):这一层的目的就是报表不需要再从ods层拿数据,如果有一个字段需要从ods层拿数据,那就是dw层没有做的好, 从ODS层中对用户的行为做一个初步的汇总,比如说

要统计最近一周的投资人数,投资金额,投资次数,登录次数啊,频率啊,债转成功次数啊,金额啊,受让次数啊,等等,都可以做啊,也是按照主题去汇总的。这里的分区看公司的取舍吧,我们

加了分区, 牺牲了磁盘空间, 用作渐变维度。

dwd(维度表,和dws是平行的):这一层主要解决常用不变的维度信息,让维度做一个轻度的汇总,我们可以不需要从各个源数据里面去重新找了, 比如说用户的常用身份信息,身份证,手

机号码,登录地址,居住城市,学历等其他很多信息,这些信息来源于不同的表,我们也可以做一个轻度汇总。维度表一般不加分区,但是我们也加了分区的,也需要渐变维度,做一个渐

变维度。每天一份全量。 dwd和dws的区别就是,dwd是一些维度信息, dws是业务的一些维度信息,其实如果稍微笼统的话,两者是可以合并在一起的.

dm(报表层):这一层不多解释了,展示的报表层,我们磁盘多,加个分区把. 我们的业务人员(如运营,产品等)从HUE平台自己写sql查询

app(展示层): 也加分区,这一层和dm层的区别就是,这一层的数据都是要进mysql的, 然后通过mysql展示导web界面。而dm层所有的数据都不要进mysql,如果进了mysql,

就不再dm层了,直接到app层了

5、数据仓库中会遇到的问题

问题: 在从mysql数据抽取的时候,mysql数据会发生变化,而我们抽取过来的数据却是没有变化之前的

如果这点差别业务允许的话,自动忽略吧.

解决办法1: 集中资源先把所有数据抽取过来,先抽取过来后, 再ETL.你抽取的越快, 数据的差异越小,一般也在允许范围内.如果连这点差异都不能忍受的话,只能按照方法二了

解决办法2: 我们之前使用canal监控mysql变化日志, 然后跑日志,实现数据完全同步,这一块我们实现了, 但是我没有亲自做过.很遗憾.

解决办法还有很多,以后等我找到更好的办法后,再分享!

existed hive ods_hive数据仓库建设相关推荐

  1. hive数据仓库建设

    hive数据仓库建设 1.设计原生日志表 原生日志表用来存放上报的原始日志,数据经过清洗加工后会进入到各个日志表中. 1.1 创建数据库 #创建数据库 $hive>create database ...

  2. 6000字详解数据仓库建设

    01 前言 互联网行业,除了数据量大之外,业务时效性要求也很高,甚至很多是要求实时的.另外,互联网行业的业务变化非常快,不可能像传统行业一样,可以使用自顶向下的方法建立数据仓库,一劳永逸,它要求新的业 ...

  3. hive olap 数据仓库_数据仓库系统的实现和使用(含OLAP重点讲解)

    前言 完整的数据仓库系统会涉及其他一些组件的开发,其中最主要的是ETL工程,在线分析处理工具(OLAP)和商务智能(BI)应用等. 本文将对这些方面做一个总体性的介绍(尤其是OLAP),旨在让读者对数 ...

  4. Workflow 在数据仓库建设中的应用与优化

    导读:随着 IT 时代步入到 DT 时代,从数据中挖掘价值已经变得越来越重要.数据仓库系统长期以来一直是企业 IT 架构的重要组成部分,并且逐步与大数据等技术相融合,已然成为建设数据文化的智慧型企业的 ...

  5. 数据仓库ods层是啥意思_一文读懂大数据仓库建设

    文章标签: 数据仓库ods层是啥意思 版权 从传统数仓到大数据平台,MPP数据集市,Hadoop集群,还有混合架构数仓,一直在不断演进,但是万变不离其宗,大框架和方法论终归是那一套.所以本文就来分享数 ...

  6. 大数据数据仓库建设流程概述

    数据仓库的逻辑分层架构: 想看懂数据仓库的逻辑分层架构,必须先弄懂以下4大概念. 数据源:数据来源,互联网公司的数据来源随着公司的规模扩张而呈递增趋势,同时自不同的业务源,比如埋点采集,客户上报,AP ...

  7. tp5.1 获取表里的所有数据_携程机票数据仓库建设之路

    一.前言 随着大数据技术的飞速发展,海量数据存储和计算的解决方案层出不穷,生产环境和大数据环境的交互日益密切.数据仓库作为海量数据落地和扭转的重要载体,承担着数据从生产环境到大数据环境.经由大数据环境 ...

  8. 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设

    应用实践 | 数仓体系效率全面提升!同程数科基于 Apache Doris 的数据仓库建设 导读:同程数科成立于 2015 年,是同程集团旗下的旅游产业金融服务平台.2020 年,同程数科基于 Apa ...

  9. 《数据仓库》一文读懂数据仓库建设

    数据仓库建设 一.数据仓库概念 1.数仓架构 ​ 我们在谈到数据仓库,都会提到数仓架构,那么数仓架构到底是什么呢?首先,架构就是把一个整体工作按需切分成不同部分的内容,由不同角色来完成这些分工,并通过 ...

最新文章

  1. HP-UX磁带备份错误收集
  2. 科学出版社c语言实验答案,程序设计基础c语言第三章程序结构教材习题答案科学出版社...
  3. ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password‘ cannot be loaded
  4. ubuntu16安装anaconda显示没有文件或那个目录
  5. Suricata的初始化脚本
  6. 文件指针和文件描述符之间的相互转换 fd----fp 和 fp----fd
  7. 刘朋:程序员如何练就领导力
  8. Spring MVC 文件上传 文件下载
  9. “请给我一个女朋友”“我给你一个大嘴巴子”,微信官方真给人实现愿望了...
  10. 查看linux目录剩余空间大小
  11. [转载] python histogram函数_Python numpy.histogram_bin_edges函数方法的使用
  12. 开源免费强大的按键精灵软件----AutoHotKey
  13. flink实战—时间窗口(Time Windows)的原理和使用
  14. c语言差分qpsk编码信道估计 pudn,基于DSP的电力线载波OFDM调制解调器设计.doc
  15. java 实时弹幕_[Java记录]实时抓取斗鱼弹幕
  16. 汽车ECU的bootloader程序设计
  17. uniapp 实现拨打电话
  18. JAVA 单商户商城系统 成熟源码 支持二开
  19. 数据库导出EXCEL后0丢失
  20. 分布式事务实现原理【BAT 面试题宝库附详尽答案解析】

热门文章

  1. 类别不平衡问题之评估指标
  2. javascript鼠标滚轮滚动实现模块的伸缩功能
  3. python机器学习案例系列教程——文档分类器,朴素贝叶斯分类器,费舍尔分类器
  4. 简单分析FFT坐标轴的生成方式和幅值大小
  5. java 队列实现_队列的实现(JAVA)
  6. 2019 杭电多校第六场 题解
  7. go set up on ubuntu
  8. 解除mysql只有本机可以访问的限制
  9. Android开发技术周报 Issue#101
  10. 初探Bootstrap