0


大数据项目之电商数仓、数据仓库概念、项目需求及架构设计

文章目录

1.数据仓库概念

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

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

2. 项目需求及架构设计

2.1 项目需求分析

2.1.1 采集平台

(1)用户行为数据采集平台搭建
(2)业务数据采集平台搭建

2.1.2 离线需求

在这里插入图片描述

2.1.3 实时需求

在这里插入图片描述

2.1.4 思考题

1、项目技术如何选型?
2、框架版本如何选型(Apache、CDH、HDP)
3、服务器使用物理机还是云主机?
4、如何确认集群规模?(假设每台服务器8T硬盘)

2.2 项目框架

2.2.1 技术选型

在这里插入图片描述

2.2.2 系统数据流程设计

在这里插入图片描述

2.2.3 框架版本选型

1)如何选择Apache/CDH/HDP版本?
(1)Apache:运维麻烦,组件间兼容性需要自己调研。(一般大厂使用,技术实力雄厚,有专业的运维人员) (建议使用)
(2)CDH:国内使用最多的版本,但CM不开源,今年开始收费,一个节点1万美金/年。
(3)HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少
2)云服务选择
(1)阿里云的EMR、MaxCompute、DataWorks
(2)亚马逊云EMR
(3)腾讯云EMR
(4)华为云EMR

2.2.3.1 Apache框架版本

框架新版本Hadoop3.1.3Zookeeper3.5.7MySQL5.7.16Hive3.1.2Flume1.9.0Kafka3.0.0Spark3.0.0DataX3.0.0Superset1.3.2DolphinScheduler2.0.3Maxwell1.29.2Flink1.13.0Redis6.0.8Hbase2.0.5ClickHouse20.4.5.36-2
注意事项:框架选型尽量不要选择最新的框架,选择最新框架半年前左右的稳定版。

2.2.4 服务器选型

服务器选择物理机还是云主机?

2.2.4.1 物理机:

以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,戴尔品牌单台报价4W出头。一般物理机寿命5年左右。
需要有专业的运维人员,平均一个月1万。电费也是不少的开销。

2.2.4.2 云主机:

云主机:以阿里云为例,差不多相同配置,每年5W。
很多运维工作都由阿里云完成,运维相对较轻松

2.2.4.3 企业选择

金融有钱公司和阿里没有直接冲突的公司选择阿里云
中小公司、为了融资上市,选择阿里云,拉倒融资后买物理机。
有长期打算,资金比较足,选择物理机。

2.2.5 集群规模

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

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

2)如果考虑数仓分层?数据采用压缩?需要重新再计算

2.2.6 集群资源规划设计

在企业中通常会搭建一套生产集群和一套测试集群。生产集群运行生产任务,测试集群用于上线前代码编写和测试。

2.2.6.1 生产集群

(1)消耗内存的分开
(2)数据传输数据比较紧密的放在一起(Kafka 、Zookeeper)
(3)客户端尽量放在一到两台服务器上,方便外部访问
(4)有依赖关系的尽量放到同一台服务器(例如:Hive和mysql)
MasterMastercorecorecorecommoncommoncommonnnnndndndnJournalNodeJournalNodeJournalNodermrmnmnmnmzkzkzkhivehivehivehivehivekafkakafkakafkasparksparksparksparksparkdataxdataxdataxdataxdataxDs-masterDs-masterDs-workerDs-workerDs-workermaxwellsupsetmysqlflumeflumeflinkflinkclickhouseredishbase

2.2.6.2 测试集群服务器规划

服务名称子服务服务器hadoop102服务器hadoop103服务器hadoop104HDFSNameNode√HDFSDataNode√√√HDFSSecondaryNameNode√YarnNodeManager√√√YarnResourcemanager√ZookeeperZookeeper Server√√√Flume(采集日志)Flume√√KafkaKafka√√√Flume(消费Kafka日志)Flume√Flume(消费Kafka业务)Flume√Hive√√√MySQLMySQL√DataX√√√Spark√√√DolphinSchedulerApiApplicationServer√DolphinSchedulerAlertServer√DolphinSchedulerMasterServer√DolphinSchedulerWorkerServer√√√DolphinSchedulerLoggerServer√√√SupersetSuperset√Flink√ClickHouse√Redis√Hbase√服务数总计201112


本文转载自: https://blog.csdn.net/Redamancy06/article/details/127454242
版权归原作者 Redamancy_06 所有, 如有侵权,请联系我们删除。

“大数据项目之电商数仓、数据仓库概念、项目需求及架构设计”的评论:

还没有评论