开发者学堂课程【阿里云离线数仓实战 1:项目介绍及架构设计:集群规模及购买服务器建议】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/102/detail/1792
集群规模及购买服务器建议
内容简介:
一、集群规模的选择
二、购买服务器建议
一、集群规模的选择
服务器的选型,比如:决定买阿里云云主机,那么接下来面临的问题则是应该买多少云主机。这本质上取决于你的数据量,数据量越大,买的云主机就越多,数据量越少,买的云主机就越少。那么应该怎样去计算数据量,则包括下列几项:(用户行为数据、DataHub 中数据、业务数据比较主要)
用户行为数据:
(1)每天日活跃用户 100 万,每人一天平均 100 条: 100万*100万=10000万条(如果每天日活跃用户是 100 万的网站,那么每人一天 100 万埋点日志,即埋点日志指记录用户来到网站的行为,看了哪些页面、浏览了哪些商品、点击了哪些商品详情、支付了哪些订单等,这些用户行为的记录初步评估 100 条。这 100 条并不是非常绝对。在项目初期,埋点数据量会相对较少。随着企业的发展,分析的指标越来越多,那么埋点记录的数据就会越多,那就可能会大于 100 条,不同阶段的数据量不同,假如 100 万个日活,一天有 100 万个用户访问了网站,每个人产生 100 条数据,则大概是 10000 万条,相当于一亿条。)
(2)每条日志 1K 左右,每天1 亿条: 100000000/1024/ 1024 =约 100 G(通常情况下,一亿条埋点日志大概是1K左右,而在公司中开发 0.5K~2K 之间是一个标准日志。那么是 2k 还是 0.5,则取决于埋点的志段多少,同时志段里面包含信息的多少,就决定了它的大小。)
(3)数仓 ODS 层采用 LZO+ parquet 存储: 100g 压缩为 10g 左右
(4)数仓 DWD 层采用 LZO+ parquet 存储: 10g 左右
(5)数仓 DWS 层轻度聚合存储(为了快速运算,不压缩,压缩会影响计算效率) : 50g 左右
(6)数仓 ADS 层数据量很小:忽略不计
(7)保存 3 副本: 70g*3=210g
(8)半年内不扩容服务器来算: 210g*180天=约37T
(9)预留 20%- 30%Buf=37T/0.7=53T
DataHub 中数据
(1)每天约 100G 数据'副本(2) =200g
(2)保存 3 天*200g=600g
(3 )预留 30%buf=600g/0.7= 857g=约1 T
Flume 中默认缓存的数据比较小:暂时忽略不计
业务数据
(1) 每天活跃用户 100 万,每天下单的用户 10 万,每人每天产生的业务数据10条,每条日志1k左右: 10万*10条*1k=1g 左右
(2) 数仓四层存储: 1g*3=3g
(3) 保存3副本: 3g*3=9g
(4) 半年内不扩容服务器来算: 9g*180天=约1.6T
(5) 预留 20%-~30%Buf=1.6T/0.7=2T
集群总规模: 53T+1T+2T=56T
算到这:约 8T*7台服务器(128G 内存、8T 磁盘、CPU 和线程)
二、购买服务器建议