首页 > 技术文章 > 项目流程及阿里云工具

xiaoazheng 2021-08-21 13:38 原文

数据仓库定义:
为企业所有的决策制定过程,提供所有系统数据支持的战略集合
来源:
日志采集系统
业务系统数据库
爬虫系统等
数据仓库是做什么的:清洗,转义,分类,重组,合并,拆分,统计等
数据仓库输出到哪:报表系统,用户画像,机器学习,推荐系统,风控系统
项目需求分析:
1、采集埋点日志数据 以文件存储
2、采集业务数据库中的数据 以mysql存储
3、数据仓库的搭建(用户行为数仓。业务数仓)
4、分析统计业务指标
5、对结果进行可视化展示
阿里云技术框架:
阿里云产品 简介 类比
DataHub 数据总线 kafka+各种服务接口
MaxCompute 大数据计算框架 Hadoop+Hive+调度器
DataWorks 可视化MaxCompute的开发管理平台
RDS 关系型数据库 mysql
QuickBI 可视化数据展示工具 kibana
ECS 弹性服务器 linux服务器
技术选型:
阿里云框架 开源框架
数据采集传输 日志:Flume。数据库;DataHub,RDS Flume,kafka,sqoop,Datax
数据存储 MaxCompute、DataWorks mysql,hadoop,hbase
数据计算 MaxCompute,DataWorks hive,spark,flink
数据可视化 QuickBI Kibana
系统数据流程设计:
数据来源两部分(日志,业务系统数据mysql)
业务系统数据直接发送到MaxComputeMaxCompute/dataworks,日志数据采用flume采集然后发送到消息缓冲队列DataHub然后axCompute/dataworks.MaxCompute/dataworks
进行清洗(数据仓库),然后再将分析结果放到mysql,最后大屏展示
服务器选型?
物理机:每月最少1.5w
云主机:每年5万
集群规模:
1、用户行为数据
(1)每天日活跃用户100万,每人一天平均100条:100万*100条=10000万条
(2)每日日志1k左右,每天1亿条,100000000/1024/1024=100G
(3)数仓ODS层采用LZO+Parquet存储:100g压缩为10g左右
(4)数仓DWD层采用的LZO+Parquet存储:10g左右
(5)数仓DWS层轻度聚合存储(为了快速运算,不压缩):50g左右
(6)数仓ADS层数据量很小:忽略不计
(7)保存3副本:70*3=210g
(8)半年内不扩容服务器来算:210g*180天=37T
(9)预留20%:37/0,7=53T
2、DataHub中数据
(1)每天约100g数据+副本=200G
(2)保存三天3*200=600G
(3)预留30%=1T
3、flume中默认缓存的数据比较小:暂时忽略不计
4、业务数据:
(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%1.6T/0,7=2T
5.集群总规模:53T+1T+2T=56T
6、约8T*7台服务器
DataHub安装及使用
DataHub简介:通俗的来说DataHub类似于传统大数据解决方案中的Kafka的角色,提供了一个数据队列功能。
对于离线计算,DataHub除了提供一个缓冲的队列的作用,同时由于DataHub提供了各种与其他阿里云上下游产品的对接功能,所以DataHub又扮演一个数据的分发枢纽的 工作
1、DataHub输入组件包括
flume:主流的开源日志采集框架
DTS:类似于Canal,日志实时采集框架
LogStash:日志采集框架,通常和Elasticsearch,kibana集合使用
OGG:实时监控Oracle中数据变化
DataHub输出组件包括:
RDS:类似于传统的MYSQL数据库
AnalyticDB:面向分析性的分布式数据库
MaxCompute:离线分析框架
Elasticseach:数据分析,倒排索引
StreamCompute:实时分析框架
TableStore:类似于Redis,Kv形式存储数据
OSS:类似于HDFS,存储图片,视频
MaxCompute
盘古:相当于Hadoop中的HDFS
伏羲:相当于Hadoop中的Yarn
MaxCompute Engine:相当于MR。Tez等计算引擎
DataWorks:(数据工厂,原大数据开发组件)是基于MaxCompute计算引擎的一站式大数据工场,他能帮助快速完成数据集成,开发治理,服务质量等全套数据研发工作。
MaxCompute和DataWorks一起向用户提供完善的ETL和数仓管理功能,以及SQL、MR、Craph等经典的分布式计算引擎,能够快速的解决用户海量数据的计算问题。

推荐阅读