上文《数仓架构构建实战思路(三)任务评估很重要》我们已经评估了任务和数据规模,当我们掌握这些信息之后,接下来就可以评估服务器集群规划了。也就是可以进入到采购阶段了。
对于做数仓来说,一般如果是小公司的话,我们还是建议使用云服务器,总体来说扩展会更方便点,前期的成本也会更低一点的。
对于服务器的评估,我们抓哟是参考任务和数据规模,所以对于我们来说,一般采用的整体框架模式还是:存算分离,所以总体来说我们会把服务器分成几组:
1、mq相关的作为1组服务器 2、数仓存储数据分为1组服务器 3、分布式计算(实时+离线)分为1组服务器(有条件的话实时和离线单独拆分为组服务器) 4、调度器分为1组服务器 5、监控组分为1组服务器 6、备份组分为1组服务器
综合以上我们已经对于数仓来说,服务器的整体分组角色情况就一目了然了。然后接下来我们就根据前面的数据量和任务量来评估服务器的配置。
一般来说我们对于服务器的配置要求如下:
1、硬盘
硬盘的话我们一般需要考虑的容量是:
单挑数据大小*(历史数据条数+日增数据条数*半年)*副本数 来进行评估,额外的还需要考量数据周期的问题(即一部分数据到期后会删除)
对于我们来说,硬盘的考虑初期我们是保持在30%到40%之间,也就是建立数仓之后立马导入存量数据并且实施副本的情况下,占用的磁盘空间仅占用服务器资源的30%到40%之间。
为什么这么考虑呢?主要是因为我擅长做ToC场景,这里的业务增长非常快,前期需要预留大部分资源,为后期调整留一些时间缓冲。
当然硬盘的话,我们目前还是采用HHD或者SSD的硬盘,这几乎是大数据的标配。
备注:
1、虽然大数据组件宣称可以利用廉价的硬盘资源做大数据,但是根据线上的运行情况及我所接触过的企业,几乎HHD或者SSD硬盘都是标配。
2、存储服务器数量
我们在前面把存储服务器分为了单独一组,这里的话我们考量的是
集群自盘总量/单台服务器磁盘容量*0.8 * 副本数
举个例子,假设我们现有的数据量是2T,那么我们的存储服务器数量的话,我们至少是3台服务器(主要是做3个副本),每台服务器配置5块2T左右的硬盘。昨晚raid5之后,每台服务器可以容纳的数据是8T。
此时我们的服务器硬盘足够,所以为了容灾,所以考虑3台服务器做存储即可。
3、计算服务器数量
计算类的服务器主要根据job来,CPU和内存要求较高,硬盘要求较低。这里大致需要考量一些任务数及任务执行的资源消耗率,一般我们建议至少3台。主要是为了迎合现有的大数据框架。
4、CPU配置
数仓领域一般我们都是一步到位,存储的服务器CPU配置低一点(根据实际的使用框架决定),计算类的服务器CPU我们一般直接拉到64核。
5、内存配置
内存的配置一般与CPU相关,我们的建议配比是1:2或者1:4,比如我们的存储服务器,我们一般选择1:4的配比,计算类的服务器选择1:2的配比。一般来说我们的服务器内存都是64G,128G,256G居多。
6、网卡
既然是大数据,同时需要满足线上的场景,那么我们一般直接选择千兆网卡,条件好的可以选择万兆网卡。
以上就是对于建设数仓,关于服务器的相关考量。
备注:
1、当然我们在考虑存储的时候,还是需要考虑数据的格式,数据压缩,序列化方式,文件类型等等。这方面的考虑可以压缩数据的存储量。 2、这里的服务器相关也可以估量出咱们得成本预算
还没有评论,来说两句吧...