大家好,我是大圣。
最近公司数据方面的需求变得更多元化了,导致原有的大数据架构满足不了公司现有的需求。领导准备升级公司的大数据平台架构,然后他把这个任务交给了我,接到这个这个任务之后,我和领导简单对接过后,也开始调研了起来。
经过十多天的努力,终于把公司的大数据平台架构给确定了下来,完成了服务器资源的评估,同时这也是自己第一次以架构师的身份去建设大数据平台,所以在这里就想给总结一下,分享给身边的小伙伴,希望对你们有帮助。
话不多说,下面是这篇文章的大纲
梳理现有的数据
现在有的数据主要包括以下几个部分:
这是我们之前数据部分就已经存在的四种数据类型,由于这这四部分数据的抽象和采集也是我做的,所以我是比较熟悉的。
如果你去做大数据平台的建设的时候,你们是没有这些数据类型的,所以请大家根据自己公司的业务去总结出来应该采集的是哪些数据,但是大多数都是这几种数据来源的抽象
分析数据方面的需求
我这数据方面的需求,主要包括以下几个部分:
其实这部分就是你想用前面梳理的数据去做哪些事情,这一步通常跟你们公司具体的业务挂钩,这里就不多说了,大家自己思考就行。
大数据平台架构技术选型
先说一下大数平台架构技术选型标准:
1)业务偏向,实时,离线,还是即席查询
2)对比下当前的技术优缺点
3)技术人员的技术栈
4)运维的难易
5)服务器资源是否能支撑
6)开源社区/周边朋友的使用
下面来看 大数据平台技术架构图(总览)
我们这里主要从以下几个层面去进行技术选型:
1)采集层
2)计算层
3)存储层
4)业务层
5)平台管理
6)平台调度
7)任务调度
在这里我就举个计算层的技术选型的过程来说明:
这里的计算层主要是构建数据仓库,所以我首先分析了市面上现有的数据仓库的类型,如下:
传统数仓架构
基于Flink流批一体的数仓架构
数据湖的流批一体
三种数据仓库架构的对比:
传统数据仓库(简称P1)
基于Flink批流一体的数仓架构(简称P2)
数据湖的流批一体(简称P3)
(1)业务偏向:P3更合适
(2)技术优缺点:P1采用的是Lambda架构,P2/P3采用的是一套架构
(3)技术人员的技术栈:P1
(4)运维的难易:P3 > P2 > P1
(5)开源社区:P3 > P2 > P1
其实在这一步可以根据公司数据的偏向,然后去分析每一种架构的使用场景和优缺点,再根据前面技术选型的标准去进行选择,这三种架构我的深层次调研过,只不过这要结合公司业务去分析,所以在这里不方便详细说。
服务器资源的评估
服务器资源的评估可以按照以下的步骤:
1)估算一下你们有多大的数据量
2)每天数据有多少
3)数据预计保留多久
4)准备几个备份
5)就知道需要多少服务器了
每台机器的内存,磁盘,CPU选型:
内存:例如你的集群运行需要多少内存,
任务计算需要多少内存,操作系统运行需要多少内存,
需要多少冗余内存,都加起来就是你的总内存。
磁盘:磁盘比较好计算,每天的数量,三个备份,保留一年,可以算得出来。
CPU:需要根据你的计算量来大致估算。
架构的落地
这方面现在主要落地了CDH的搭建,下周去了会继续落地,后面等大数据平台搭建好了,我会再继续更新。
总结
通过这一套流程下来,还是学到了很多东西的,也基本上摸清了作为一个大数据架构师应该去做哪些东西,该怎么去进行架构的选型。
其实这里面的每一步,我都去深层次的研究了,画了很多张架构图,包括总的架构选型,每一层的架构选型。还有资源评估的过程,服务器的物理视图等,还有完整的PPT等等。
但是这和公司业务与发展有关系,所以在这里不方便详细说,只能给大家提供一个架构选型的大致思路,如果有感兴趣的小伙伴可以关注微信公众号 大圣说编程,我们私聊。