超级计算主要是电脑的费用,不是建筑的费用,所以很难估算。而且个人投资建设不仅是租金问题,如果有业务需求还是找深圳超算比较好,首先需要进行需求分析,目前就2大块需求,太抽象,无法分解,数据分析,是什么数据的分析?要怎样分析?数据记录要怎样记录?实时记录?还是定时记录?等等,这些需求明确了以后,在进行需求任务分解,再来确定开发工作量,最后才能评估出价格。
你可能正在做数据分析、数据处理或是数据开发的工作,业务你被繁重的需求压迫的失去了对进一步了解大数据内在或是周边的情况,还记得你第一次拿着辛苦赚来的工资为自己买的电脑吗?高配置过万,低的配置也大概三四千,平均就按5000元人民币算。我们对比下个人电脑和公司数据服务器的对比。
配置个人台式机数据服务器
电源290W500W
硬盘500GB~1TB1TB~70TB
内存8g~16g16g/32g/64g
CPU8核16核以上
网卡带宽12.8MB/S~128MB/S128MB/S~1280MB/S
服务器就是更高配置的计算机,其耗电更多、存储更大、内存和cpu更强劲,其需要对外提供服务,所以其网卡带宽更大。我们自己在家用的到的网络下载速度能达到3-4MB/s就很不错了,计算平台中各节点的数据传输速度大概得在100MB/s-1000MB/s。以下分别讲下网卡、硬盘、CPU、内存这4个方面对计算平台的影响:
1、网卡带宽对计算的影响:
我们具体计算一个网速传输问题,一个 100GB的文件在100Mb/s的带宽下要传输多长时间:先换算单位
100 GB = 100×1024×1024 KB = 104857600 KB
100 Mb/s = 100×1024÷8=12800 KB /s
两者相除:104857600 / 12800 = 8192 s
换算时间:8192 s = 136.5 min = 2小时16分30秒
也就是说,100GB的文件在 百兆网卡(12.8MB/S)下,需要2小时16分30秒秒完成传输。那么:
如果是千兆网卡(128MB/S),那么14分钟内就可以完成传输
如果是万兆网卡(1280MB/S),那么1.4分钟内就可以完成传输
2、硬盘对计算的影响:
目前硬盘有固态硬盘(SSD)、机械硬盘(HDD )。目前,1TB机械硬盘大概在300元人民币左右,而固态硬盘在1000元以上。机械硬盘的读写速度一般在100MB/s 左右,而一般固态硬盘的读写速度可达 500MB/s左右。虽然固态硬盘体积更小,性能更佳,但目前大数据存储还是用机械硬盘,因为价格便宜,也易维护。固态硬盘目前常用于个人电脑,如果个人资金充足,可以给自己的电脑更新换代,用下固体硬盘,速度会提升明显。
大数据平台是I/O密集型的,数据是存储在硬盘中的,在Hadoop平台上,我们每一次的数据查询工作,要从硬盘中读取,每一次的数据写入,要存储在硬盘。一份数据可以切割后存储在不同的硬盘上,而获取数据时,也就需要从不同的硬盘中获得。
3、CPU对计算的影响:
CPU核心数和线程数。
CPU个数即CPU芯片个数,CPU的核心数是指物理上,也就是硬件上存在着几个核心。比如,双核就是包括2个相对独立的CPU核心单元组,四核就包含4个相对独立的CPU核心单元组。
线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核心数。比如,可以通过一个CPU核心数模拟出2线程的CPU,也就是说,这个单核心的CPU被模拟成了一个类似双核心CPU的功能。我们从任务管理器的性能标签页中看到的是两个CPU。 对于一个CPU,线程数总是大于或等于核心数的。一个核心最少对应一个线程,但通过超线程技术,一个核心可以对应两个线程,也就是说它可以同时运行两个线程。
CPU之所以要增加线程数,是源于多任务处理的需要。线程数越多,越有利于同时运行多个程序,因为线程数等同于在某个瞬间CPU能同时并行处理的任务数。 因此,线程数是一种逻辑的概念,简单地说,就是模拟出的 CPU 核心数。一个核心最少对应一个线程,但英特尔有个超线程技术可以把一个物理线程模拟出两个线程来用,充分发挥 CPU 性能,即一个核心可以有两个到多个线程。
简单来说,CPU核心数越多,就可以越多同时处理计算任务。大数据中存储是分布式的,而一个计算任务也可以拆分成不同的子任务,能够让互不干扰的子任务同时执行,显然后大大缩短计算时间。
因特尔4核心的CPU,目前市场价格大概在1000元左右。
4、内存对计算的影响:
硬盘作为外储设备,相对的,计算机有内部存储的地方,这就是内存。一般的讲,内存的大小目前限制着我们操作个人电脑的流畅度,也就是你自己电脑比较卡的时候(一个行政人员的电脑内存4g,而一个技术人员得电脑内存最好不低于16g),大多是内存资源的不足。目前1GB内存的购买价大概在50元人民币,而1GB的硬盘价格是0.5元人名币,两者单价相差100倍。
1TB内存的价格是5万元
100TB硬盘的价格也是5万元
为什么相差真么大,因为内存对数据的读写速度比硬盘快很很很多,但如果要长久保留数据得把数据写入磁盘。因为内存和硬盘的价格悬殊,所以MapReduce计算框架下,采取得是计算中间的数据会先写入硬盘,后面的计算再把数据从硬盘读入内存。打个比方,你有100GB的源数据,本来这100GB可以全部读取到内存做计算,计算后把最终结果再写入磁盘,但因为内存有限且在MapReduce计算框架下,硬盘空间换时间,必须得有中间结果数据写入硬盘,作为缓冲,弥补内存的不足。所以为什么现在spark越来越流行,内存计算速度肯定快!
我们综合带宽、硬盘、CPU、内存,在资源一定的情况下,如果使用人很多,在资源分配上,需要排队等待计算任务执行。一定的资源不可能同时被所有使用者同时计算,所以必然需要排队。有的时候,你觉得你的sql跑的慢,并不完全是你sql太复杂,还有可能是你的sql任务还没开始执行,正在排队等待中。
进一步的思考,多台计算机参与对同一文件的处理,如果这个文件足够大,那么要这个文件分割储存到不同的计算机上;为了防止数据丢失,文件都会复制两个副本;为了提升计算效率,先就近计算存储在每个计算机上部分文件,也就是每台计算机分担一份小任务。
是的,数据平台保存一份数据,其实一般会保存3份同样的数据。也就是你在hive建了一张500GB的表,其在数据平台的实际大小会达到1500GB。
正因为大数据平台这种分布式存储、分布式计算的基本特性,随着数据越多,服务器就得需要一批批的被采购。
1、机器的成本
10台机器每台64GB、30TB的服务器,每台价格是5万元左右,那么十台就是50万元。
2、机器的耗电
这里特别说下电费。
每台服务器的电源大概是500W,1000W时为1度电,500瓦时就是0.5度电,公式为:
多少瓦÷1000瓦时×多少小时=多少度电
电费按每度0.8元,那么一台服务器的24小时会用9.6块钱。10台服务器每年的用电量是35040元。电费一般是包括在下面要说的托管费用得,这里特别说明下。服务器在耗电下,也产生了大量的热量,所以也服务器也需要存放在制冷系统下。10台服务器每年的用电量就达3.5万块,那么1000台每年就是得用300万元,10000台就得用3000万元。规模越大,运行成本就越高。所以,巨头互联网公司一般都有自建的数据中心,建在西部。因为西部电费便宜,建在山洞也安全。用电成本绝对是要考虑的。
3、机器的托管费用
服务器托管收费标准是由一下几个因素决定的:
1、服务器大小
2、IDC机房
3、运营商线路
4、带宽大小
服务器需要提供稳定的服务,还得防火防盗,一般会找专业的机房服务,托管机器。托管费用一般包括:机位费+网络带宽费+电费+日常维护费用。每天台机器一年的托管费用按6000元,10台服务器的费用一年是6万元。算上电费。10台服务器每年的托管费用得10万块钱。
4、我们看数据平台的人力成本
工资成本:一个大数据平台大致在10人-30人规模,平均每人每月工资10000人民币,按30人计算,一年的工资大概在400万。
软件成本:虽然大数据软件大多是开源的,但前端产品大多都得自己开发,但是大多情况下自己开发出来的烂产品,不如老老实实花钱从外部买个,最后老板被说服,狠狠心,买。 30万的软件产品买起。
综上:300TB、30人的数据平台,一年的总花费:50万的机器硬件投入 + 10万的服务费(包括电费、机器托管费) + 400万的人力工资 + 30万的软件服务费 =450万-500万间
注意这只是300TB的存储情况,TB级别的,那么如果是PB级别的呢?到了PB级别的时候,数据平台的分工将是特别明确,有搞数据接入的小组、有搞数据计算的小组、有搞数据仓库的小组、有搞运维的小组、有搞产品前端的小组。都是要人的。水涨船高,同时也骑虎难下。花费怎么也得上千万吧。
当数据规模小时,一般人力成本比机器贵,达到一定规模后,机器比人力成本贵。(如果你一定要深度搞大数据,一定要找个机器成本比人力成本要多的平台。这样说也不是没有根据,如果人力成本比机器还贵,说明数据的规模还没有那么大)。考虑数据规模,如果你想接触到整个大数据采集,清洗,开发,应用的每一个环节,建议去规模比较小的平台,因为你肯能有很大机会接触到每个环节,能够去做各个环节的项目,对整个数据处理流程会有更深的认识。如果想专研究在某项技术比如Kafka、Spark、Kylin等,就尽量去大平台,专人专做会更有深度发展。
搞大数据既然这么贵,作为大数据平台管理人员,或者使用人员,应该从哪些方面去节省成本?
1、不要搞大数据
如果要搞,要做好长期成本开销的准备。不排除随着时代发展,拥有像Hadoop这样的数据平台,会成为每个公司的标配,像人力、行政、会计部门一样。但是数据平台到底能够给企业带来多大的价值,是只起到运营支持的作用?还是能够变现盈利?是需要考虑的,因为数据平台在企业相当的时间内会一直是成本部门。或者换位思考下,如果你是老板,在下属的怂恿下,你是否愿意拿出500万来买设备。
2、数据的存储格式及压缩方法
规模越大,你将认识到存储格式及压缩方法的重要性。举个常见的例子,你会把你的大文件压缩后再发送邮件,或者存储U盘携带。同样数据平台也需要有这种“压缩意识”,压缩最高可以节省约80%的空间,特别对于稀疏数据,一般常用的压缩方法是Snappy、Gzip等。
压缩方法有利于节省存储空间,那么数据的存储格式有助于节省计算资源。一般数据平台的数据读取操作高于数据修改写入操作。在行式存储格式(常见的text格式)下,我们用hiveSQL或者sparkSQL查询某几列的数据,虽然我们只是要表中的某几列数据,但是会把涉及到这几列的每一行的数据都要读取到内存当中去,这样就会加大对磁盘I/O、网络带宽、内存的开销。为了降低这些不必要的开销,列式存储(常见的是parquet格式)是大数据首选的存储方式,这样你在sql查询时,只需读取select所选择的列就可以了。
3、数据存储策略方面
存储策略包括的方面多,比如,怎么兼顾成本,取得包括内存、硬盘、cpu在内的计算资源合理、平衡使用,数据的冷热分离,数据的生命周期管理等等,。“二八定律”也适用于大数据领域,那就是80%左右的数据是不经常用的,我们经常查询的hive表,也就占全部表的20%。狠狠心,删下数据吧!
4、数据的成本意识
大数据不仅是数据量大,数据复杂,经过上述的计算,相信读者会意识到大数据的成本也非常高。但往往公司会存着历史数据,舍不得删,觉得以后会卖钱;一旦被写入数据的表,员工也会觉得先留着,日后肯定用得着。随着数据规模的上涨,平台的扩大,大家对GB、TB这些存储单位会有一定的麻木。到了一定规模,问题的主次顺序可能发生了变化,但问题绝对还存在,只是被掩盖。
上述内容是“「数据中心搭建需要多少钱」建一个数据中心要多少钱?”的介绍,小编后续会陆续为大家带来相关知识,希望对你有所帮助,更多知识,请关注企盾分响。