数仓项目的架构设计实施的标准输出模板

                          数仓项目架构设计实施的标准输出模板

一,什么是数仓架构?
逻辑架构、数据架构、开发架构、运行架构、物理架构


二,技术架构:
1,开发平台选择
  阿里云 : 云平台, 花费高。 开发部署管理难度最小,快速实现业务价值

  Apache : 大厂选择, 自由度高
  CDH : 国内普遍使用多,一套产品,开发部署管理难度小
  国外:有些公司选择商业数仓平台

2,根据平台选择技术组件选型 (以开源平台为例)

数据采集传输:Flume、Kafka、Sqoop、Logstash、DataX、kettle
  依据;是否开源或商业  流式或批量 ?   数据源特征(日志,rmdbs, IOT)
  sqoop : 数据源单一,官方推荐,稳定
  dataX: 灵活性好,功能强大,数据源扩展性好 

数据存储:MySQL、postgresql、Greenplum、HDFS、HBase、Redis、MongoDB
     选型依据:文件, 关系表 , nosql , 文档数据库 ,KV ,数据量, 数据特征 ,CURD效率


数据计算:Hive、Tez、Spark、Flink、Storm
      选型依据:批量/流式   计算速度  延迟    开发难度要求

数据查询:Presto、Kylin、Impala、Druid、ElasticSearch clickhouse
数据可视化:Echars、Superset、FineReport、QuickBI、DataV
任务调度:Azkaban、Oozie、airflow
集群监控:Zabbix
元数据管理:Atlas

输出:各种功能组件选型对照表 

三,数仓技术架构图
数据链,图式展示
举例:(web/app- nginx- logfile- flume-kafka -(hdfs , hbase) - hive - mysql
mysql - sqoop - hdfs

输出:  直观技术架构图 

 

四,数据模型设计 data modeling
  主题域划分
  建模方法:维度建模
  数据模型类型: 星座模型


  建模过程:
    1,概念模型建模
    2,逻辑模型建模
    3,物理模型建模
  维度建模过程:
    1,业务过程
    2,粒度
    3,维度
    4,事实表
输出:主题域划分清单
           3种建模文档清单

           数据表清单(维度表和事实表)

      

五,数据分层模型设计
  分层原则:
  分层模型:多少层 ,层内表

输出:分层架构图 (多少层,层说明,每层的表清单)

 

六,数仓/数据中台物理架构:

服务器规划;
  个数 资源配置 组件部署(节点内的哪些组件 ,组件有哪些节点)
  组件部署特性

输出: 服务器节点规划表  (节点 ,节点资源配置(内存,cpu , 网络),组件分配,组件的子进程分配,以及高可用配置等)

           大数据集群网络规划表


七:数仓设计规范:

输出清单:

  库设计规范
  表设计规范 (表命名规范  ,字段类型, 表约束项)
  数仓分层规范
  代码设计规范(sql代码规范、  SHELL脚本 、Java规范 、 python 、 scala )
  主题域划分规范

八,ETL架构设计:
  
  数据源列表:列表 数据量 数据特征 数据目的地 采集工具
  抽取加载策略 :(采集方式和采集策略(周期,全量,增量 ,是否保持历史记录,))
  任务调度规范 (工作流编排 支持并行? 支持重复执行? 时机 周期)
  ETL映射设计清单: (字段map , source -> target )

       任务流清单:功能说明      job 工作流 节点名  参数命名
  日志输出规范(节点名称   job   失败/成功 ,)
  任务部署清单( 工作流  服务器    目录 目录结构 )


posted @ 2022-06-17 13:04  gaussen126  阅读(223)  评论(0编辑  收藏  举报