离线电商数仓学习笔记01-数仓概念及架构设计

数仓概念

数据仓库(Data Warehouse)是为企业所有部门决策制定过程,提供所有系统数据支持的数据集合。与数据仓库相类似的集合叫数据集市(Data Mart),它是满足特定部门或者用户的需求,按照多维的方式进行存储,包括定义维度、需要计算的指标、维度的层次等,生成面向决策分析需求的数据立方体。
数据仓库并不是数据的最终目的地,而是为数据最终目的地做好准备。准备包括对数据的:清洗、转义、分类、重组、合并、拆分、统计等。
**离线电商数仓学习笔记day01**数仓概念图如上所示,数据来源主要为日志采集系统、业务系统数据库、爬虫系统等,经过ETL数据清洗储存在数据仓库中,并为报表系统、用户画像、推荐系统等提供数据支持与服务。

数仓架构

技术选型

数据采集传输:Flume,Kafka,Sqoop
数据储存:Mysql,HDFS
数据计算:Hive,Tez,Spark
数据查询:Presto,Druid

流程设计

**离线电商数仓学习笔记day01**上图为整个数仓项目的流程设计图,数据来源主要分为两部分:通过Web前端埋点的用户行为日志(本项目中通过Java代码生成实现)以及业务交互数据。用户行为日志通过集群上Flume采集,并通过Kafka发送到消费Flume,最后储存在HDFS上;业务交互数据主要储存在Mysql通过Sqoop传输到HDFS上,然后通过Hive进行数仓分层并进行需求分析,最后所得到的最终结果储存在Mysql并进行数据可视化。

框架选型

(1)Apache:运维麻烦,组件间兼容性需要自己调研(一般大厂使用,有专门的运维人员)
(2)CDH:国内使用最多的版本,但是CM不开源,但对中小型公司使用没有影响
(3)HDP:开源,可进行二次开发,但是没有CDH稳定,国内使用较少

### 本项目采用Apache版本,注:框架最好不要选择最新的框架版本,因为最新的框架可能会存在兼容性和稳定性的问题,至少选择半年之前发布的框架版本或者被大众公认稳定的版本。

版本型号

产品 版本
Hadoop 2.7.2
Flume 1.7.0
Kafka 0.11.0.2
Kafka manager 1.3.3.22
Hive 1.2.1
Sqoop 1.4.6
Mysql 5.6.24
Azkafka 2.5.0
Java 1.8
Zookeeper 3.4.10
Presto 0.189

服务器选型

物理机OR云主机
物理机:一台128G内存、20核物理CPU、40线程、8THDD和2TSSD硬盘,戴尔品牌报价4W,而且还需要考虑服务器费用,寿命在五年左右,而且物理机需要专门的运维人员。
云主机:以阿里云为例,同样配置,每年五万,并且很多运维工作由阿里云完成,运维相对轻松。
云主机就是只要钱给够,都不用自己动手配置,有钱任性

集群资源规划

如何确定服务器规模(假设服务器8T磁盘,128G内存)
假设该公司每日用户活跃量为100万,每人平均一天100条数据,则一天为 1亿条数据,每条日志假设为1K,每天一亿条数据大小就是大约100G,并且如果半年不扩容服务器的话,100G*180=18T,并且考虑副本,假设副本为3,则总大小为54T,并预留20%~30%的BUF,则总大小为77T,大约需要10台服务器。

当前集群规模并没有考虑未来数仓分层的情况,如果数仓分层,服务器还需再扩容1~2倍

测试集群规划

**离线电商数仓学习笔记day01**

注册CSDN好久,一直都是只看不写,习惯在本子上写笔记,一直以为写博客太麻烦,今天尝试自己写博客,真香~

相关文章:

  • 2022-12-23
  • 2021-04-30
  • 2021-09-26
  • 2022-02-19
  • 2021-09-06
  • 2021-08-01
  • 2021-12-24
  • 2022-12-23
猜你喜欢
  • 2021-11-14
  • 2021-08-20
  • 2022-03-10
  • 2021-12-22
  • 2022-12-23
  • 2021-10-07
  • 2021-09-17
相关资源
相似解决方案