数据仓库简介

1、什么是数据仓库

	数据仓库是**为企业制定决策**,**提供数据支持的**。可以帮助企业,改进业务流程、提高产品质量等。
	数据仓库的输入数据通常包括:业务数据、用户行为数据和爬虫数据等
	**业务数据**:就是各行业在**处理事务**过程中产生的数据。比如用户在电商网站中登录、下单、支付等过程中,需要和网站后台数据库进行增删改查交互,产生的数据就是业务数据。业务数据通常存储在MySQL、Oracle等数据库中。
	**用户行为数据**:用户在使用产品过程中,**通过埋点收集与客户端产品交互**过程中产生的数据,并发往日志服务器进行保存。比如页面浏览、点击、停留、评论、点赞、收藏等。用户行为数据通常存储在**日志文件**中。

在这里插入图片描述
数据仓库不是数据最终目的地,而是为数据最终目输出做好准备,包括对数据操作备份,清洗,聚合,统计等

数仓的分层
ods:备份
dwd:清洗
dws:预聚合
ads:统计
用户画像:给用户打标签

2、 需求分析

2.1 数据采集

1)采集平台
(1)用户行为数据采集平台搭建
(2)业务数据采集平台搭建
2)离线需求
3)实时需求

2.2 项目框架

数据选型主要考虑因素:数据量大小、业务需求、行业内经验、技术成熟度、开发维护成本、总成本预算

数据采集传输:
flume(用来采集用户行为数据),
kafka(常和工具结合使用,用来缓冲,消除数据峰值,解耦),
dataX(同步到离线数仓,用于全量同步),
maxwell(离线数仓分为增量同步和全量同步,Maxwell用于增量同步),
sqoop(用全量数据导入),l
ogstash(用于数据量比较少)
数据储存:
MySQL,hdfs,Hbase,Redis,MongoDB:
从数据大小来看:离线数仓存在hdfs上,实时数仓用hbase或Redis存储,将离线和实时计算好的数据存在MySQL中,MongoDB存储爬虫数据和机器学习的数据。
数据计算:hive,spark,flink,storm,tez
常用hive和spark做离线数仓,fink做实时数仓,tez也是基于离线的计算引擎,基于内存计算的。-*
数据查询:presto,kylin,impala,druia,clickhouse,Doris
前三个离线,后三个实时
数据可视化:superset(离线),sugar(实时)
任务调度(主要用在离线数仓):dolphinscheduler
集群监控:zabbix(离线),prometheus(实时)
元数据管理:atlas(用来整理表和彪之间的关系)
权限管理:ranger

系统数据流程图

在这里插入图片描述

集群规模

	如何确认集群规模?(假设:每台服务器8T磁盘,128G内存)

(1)每天日活跃用户100W,没人一天平均100条:100W100 = 1亿
(2)每条日志1K左右,每天1亿条:100000000/1024/1024大约100G
(3) 半年内不扩容服务器来算:100G
180天=约18T
(4)保存3副本:18T3 =54T
(5)预留20%~30%buf=54T/0.7=77T
(6) 算到这:约8T
10台服务器

(2)如果考虑数仓分层?数据压缩?要重新计算的
开启Hadoop的压缩把100G的数据变成5G~10G,半年:3台服务器 1 ~ 2年 5 ~10台

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值