离线数仓01——概念与设计思路

文章目录

  • 第1章 数据仓库概念
  • 第2章 项目需求及架构设计
    • 2.1 项目需求分析
    • 2.2 项目框架
      • 2.2.1 技术选型
      • 2.2.2 系统数据流程设计
      • 2.2.3 框架版本选型
      • 2.2.4服务器选型
      • 2.2.5 集群资源规划设计

下一篇: 离线数仓02——用户行为日志和采集

第1章 数据仓库概念

数据仓库( Data Warehouse ),是为企业制定决策,提供数据支持的。可以帮助企业,改进业务流程、提高产品质量等。
数据仓库的输入数据通常包括:业务数据、用户行为数据和爬虫数据等
业务数据:就是各行业在处理事务过程中产生的数据。比如用户在电商网站中登录、下单、支付等过程中,需要和网站后台数据库进行增删改查交互,产生的数据就是业务数据。业务数据通常存储在MySQL、Oracle等数据库中。

离线数仓01——概念与设计思路_第1张图片

用户行为数据:用户在使用产品过程中,通过埋点收集与客户端产品交互过程中产生的数据,并发往日志服务器进行保存。比如页面浏览、点击、停留、评论、点赞、收藏等。用户行为数据通常存储在日志文件中。

离线数仓01——概念与设计思路_第2张图片

爬虫数据:通常是通过技术手段获取其他公司网站的数据。

第2章 项目需求及架构设计

2.1 项目需求分析

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

电商离线指标体系表:离线数仓01——概念与设计思路_第3张图片

2.2 项目框架

2.2.1 技术选型

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

离线数仓01——概念与设计思路_第4张图片

2.2.2 系统数据流程设计

离线数仓01——概念与设计思路_第5张图片

2.2.3 框架版本选型

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

2)云服务选择
(1)阿里云的EMR、MaxCompute、DataWorks
(2)亚马逊云MR
(3)腾讯云EMR
(4)华为云EMR

3)Apache框架版本选择

离线数仓01——概念与设计思路_第6张图片

2.2.4服务器选型

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

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

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

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

2.2.5 集群资源规划设计

在企业中通常会搭建一套生产集群和一套测试集群。生产集群运行生产任务,测试集群用于上线前代码编写和测试。
1)生产集群
(1)消耗内存的分开
(2)数据传输数据比较紧密的放在一起(Kafka 、Zookeeper)
(3)客户端尽量放在一到两台服务器上,方便外部访问
(4)有依赖关系的尽量放到同一台服务器(例如:Hive和mysql)

Master Master core core core common common common
nn nn dn dn dn JournalNode JournalNode JournalNode
rm rm nm nm nm
zk zk zk
hive hive hive hive hive
kafka kafka kafka
spark spark spark spark spark
datax datax datax datax datax
Ds-master Ds-master Ds-worker Ds-worker Ds-worker
maxwell
supset
mysql
flume flume
flink flink
clickhouse
redis
hbase

2)测试集群服务器规划

服务名称 子服务 hadoop102 hadoop103 hadoop104
HDFS NameNode
DataNode
SecondaryNameNode
Yarn NodeManager
Resourcemanager
Zookeeper Zookeeper Server
Flume(采集日志) Flume
Kafka Kafka
Flume(消费Kafka日志) Flume
Flume(消费Kafka业务) Flume
Hive
MySQL MySQL
DataX
Spark
DolphinScheduler ApiApplicationServer
AlertServer
MasterServer
WorkerServer
LoggerServer
Superset Superset
Flink
ClickHouse
Redis
Hbase
服务数总计 20 11 12

你可能感兴趣的:(离线数仓,数据仓库,数据库)