大数据架构
大数据框架从0到1整个过程的实现,根据本博客内容,可以实现整个大数据基本搭建,只是大概步骤,供学习参考。
本博客从下面5个方面介绍:
技术框架+技术选型+系统架构设计+业务流程+生态实现步骤
以阿里为例的大数据架构,通过学习视频,然后自己记录起来,可以时刻阅读。如有侵权,可以联系我,我随时删除。
大数据其实就是在海量数据的情况下的研究。假如数据量很少,其实用Excel就完全可以了。
1、阿里云的技术框架
这里将其和其他框架进行对比
阿里云产品 | 简介 | 其他产品 |
ECS | 弹性服务器 | Linux服务器 |
RDS | 关系型数据库 | Mysql |
DataHub | 数据总线 | Kafka+各种服务器接口 |
实时计算 | 可以实时计算 | Spark、Flink |
Dataworks | 可视化StreamCompute的开发管理平台 | 暂无 |
AnalyticDB for Mysql | 分析型数据库 | Mysql集群 |
DataV、QuickBI | 可视化数据展示工具 | Tableau、Echarts、Kibana、Unity3D、Matplot |
2、技术选型
这里根据上面的技术框架,对数据采集、数据存储、数据计算和数据可视化工具进行选型。
功能 | 阿里云框架 | 其他开源框架 |
数据采集(传输) | DataHub、DTS | Flume、Kafka、Canal、MaxWell |
数据存储 | RDS、AnalyticDB | Mysql、Hadoop、Hbase |
数据计算 | 实时计算 | Spark、Flink |
数据可视化 | DataV、QuickBI | Tableau、Echarts、Kibana |
3、系统架构设计
ECS :用户行为数据–文件形式
RDS:业务数据–mysql数据
同步事实表—一般数据庞大,这个一般确定后,尽量少修改。数据到Datahub
同步维表—数据量小,列数多,这个方便修改。直接到维度表RDS(这个RDS和上面的RDS不同,这个RDS形成过程是解耦过程)
4、业务流程
这里3个事实表、7个维表,这里有数仓分层思想。
这里数仓分为:ODS层、DWD层、DWS层和ADS层。
数据从事实表和维表–>AnalyticDB过程:
1. 事实表不做处理,作为ODS层,直接存储Datahub(万一实时计算出错,之后还可以调用该事实表数据)。
2. 之后实时计算直接读取事实表,生成DWD层,存储在Datahub。
3. 之后根据DWD层和聚合的维度层进行实时计算生成ADS层,存储到AnalysitcDB里。
这里可能没有涉及到DWS层。
5、整个生态实现步骤
根据上面的图进行生态建模步骤:
1.购买**RDS**,创建数据集合,用RDS
2.创建Datahub项目
3.直接用DTS把RDS事实表数据同步到创建的Datahub
4.用第二个DTS把RDS维表数据同步到RDS新库(维表库)
这两个DTS需要分别创建
5.聚合维度表-视图表,方便之后管理和使用
6.分层—**实时服务器购买**,创建实时计算集群和项目环境
7.创建dataworks环境,把项目和集群绑定起来,用于开发
8.ODS层到DWD层—直接在Dataworks里面实现(Datahu--实时处理--到Datahub)
直接使用sql创建数据源表-创建数据结果表
还需要在Datahub中创建结果表,之后才可以使用sql导入
9.**AnalyticDB购买**