数据仓库

为什么需要数据仓库?

公司发展壮大,人员越来越多,业务越来越多,导致数据非常分散,有的部门数据可能简单存放在Excel里面,有的部门数据可能存放在Mysql里面。导致数据脏乱,还缺少历史,性能慢等。创建数据仓库,使所有的数据统一管理,规范化。

什么是数据仓库?

1.分析数据的中央存储库
2.业务分析师,数据科学家和决策者通过商业智能工具(BI)、sql客户端和其他分析应用程序访问数据
3.数据仓库可以高效的存储数据,并以极快的速度同时向成千上万的用户提供分析查询结果

数据库分类

操作型数据库OLTP:
1.面向应用,用于业务支撑,支持对实际业务的处理
2.业务型数据库
3.通常意义上的数据库MySQL,Oracle,sql server 等

分析型数据库OLAT:
1.面向数据分析,侧重决策支持,作为公司的单独数据存储,负责利用历史数据对公司各主题域进行统计分析
2.优化查询性能,很多行查询
3.数据仓库(开源),hive,impala,presto…

操作型数据库OLTP(联机事务处理):操作型数据库主要应用,更侧重基本的,日常的事务处理,包括数据的增删改查。例如:银行转账,淘宝交易等等

分析型数据库OLAP(联机分析处理):分析型数据库主要应用,以多维度的方式分析数据

问:BI就是OLAP?
答:粗略回答,是的
区别:OLAP更加底层,它包括数据仓库+数据引擎
	  BI偏向结果,利用数据仓库+数据引擎去得到业务上的分析结果

数据仓库特点

1.集成性:数据仓库会将不同源数据库中的数据汇总到一起
2.历史性:数据仓库的数据是为企业数据分析而建立,所以数据被加载后一般情况下将被长期保留,前者通常保存几个月,后者可能保存几年到几十年。数据的变动,在数据仓库中是能够被记录以及追踪变化的,有助于反应出随时间变化的资料轨迹。
3.稳定性:数据仓库中的数据一般仅执行查询操作,很少会有删除和更新。但是需要定期加载和刷新数据。
4.面向主题:数据仓库通过一个个主题域将多个业务系统的数据加载到一起,为各个主题(如用户,订单,商品等)进行分析而建,操作型数据库是为了支撑各种业务而建立。

主题:对数据分门别类的区分,方便根据数据需求使用和加工
	例如:顾客主题,商品主题,供应商主题,仓库主题等等
是一个虚拟的概念,由公司业务上自己决定(了解数据的结构,每个表的结构、字段等信息)

在这里插入图片描述

数据仓库架构

在这里插入图片描述
操作层:(散落在公司各个地方的数据,订单数据、用户数据、商品数据等,先将其统一放置在数据库中)

ETL:数据抽取,转换,载入(一些数据清洗操作)

数据仓库建表(模型有雪花模型,星型模型):表1,表2…

数据集市(不同部门、组需要的数据)

应用:数据分析,报表展示等等

问:数据表定义?怎么确定哪些数据在哪个表中呢?
数据库建模,数据仓库建模等等,都是围绕数据怎么存放在表中展开的

业务数据库建表有几大范式指导建表
分析型数据库呢?一般依靠事实表和维度表进行建表

事实表(Fact):保存度量值的详细值或事实的表
维度表(Dimention):保存属性的表

事实表与维度表关系:雪花模型和星形模型

雪花模型:当有一个或多个维度表没有直接连接在事实表上,而是通过其他维度表连接到事实表时,其图解就像多个雪花连在一起(一般维度表有主键,事实表为外键)
星型模型:数据集的每一个维度都直接与事实表相连

比较:雪花模型冗余少,星型模型性能好。工作中能选星型就选星型(主要原因join在数据库中查询是一个比较费事的操作)。

大数据中的数据仓库Hive

hive是一个构建在Hadoop之上的数据仓库

和传统数据仓库一样:
1.主要用来访问和管理数据
2.同样提供了sql查询语言
和传统数据仓库不一样:
1.可以处理超大规模的数据
2.可扩展性和容错性相当强

数据仓库一般做汇聚、统计,一般不做单个查询记录

数据处理类型				oltp			olap
面向对象				业务开发人员		分析决策人员
功能实现				日常事务处理		面向分析决策
数据模型				关系模型			多维模型
数据量				几条或几十条		百万千万条
操作类型				增删改查			查询为主

业务型数据库,数据量有限,支付宝账号--》最多14亿条用户数据
分析型数据库,用户浏览淘宝商品,每一个用户浏览一次淘宝商品就产生一条数据-->几万亿数据量

典型星型模型建模:

商品销售事实表:
PK,FK1:时间ID
PK,FK:地域ID
PK,FK:用户ID
PK,FK:产品ID
PK,FK:支付ID
购买数量
支付金额

维度表:
	时间维--PK:时间ID(时,分,秒)
	地域维--PK:地域ID(省、市、区县、地址)
	产品维--PK:产品ID(产品类型,产品名,产品属性)
	支付维--PK:支付ID(支付方式,支付类型)
	用户维--PK:用户ID(用户类型,用户名,用户信息)

OLAP cube和分析操作:
cube:可以理解为多维度分析--》数据仓库课程最后

数据中台和数据仓库区别?
数据仓库只是数据中台的一部分,基础的一部分,数据中台面向业务有更多的组成部分(用户画像,推荐系统,数据地图(主题),数据血缘)

数据湖--》新概念,数据仓库课程最后
数据湖概念更大,整个公司层面所有的数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值