现在的大数据产品,都是采用分布式存储和分布式计算的集群方案。衡量大数据处理能力的强弱,主要有以下几个制约因素。
1.网络带宽
网络是联接计算机的纽带,这个纽带当然越宽越好,这样可以在计算机资源许可的情况下,在单位时间内传输更多的数据,让计算机处理更多的数据。现在企业网络中,普遍采用的多是百兆网络,也有千兆,万兆虽然有,但是用得不多。
2.磁盘
所有数据,不管它从哪里来,最终都要存进不同的硬盘里面,或者闪存盘。闪存盘的读写效率比硬盘高得多,但是缺点也明显:价格贵、容量小。现在的存储介质主要还是硬盘,硬盘有顺序读写和随机读写两种模型。顺序读写是磁头沿着磁道,好象流水线一样,有规律的向前滚动进行。随机读写是磁头跳跃着,找到磁道上留空的地方,把数据写进去。很明显,顺序读写比随机读写效率高,所以系统架构师在设计大数据存储方案时,都是以顺序读写为主要选择。
3.计算机的数量
5.代码质量
这不是关键问题,但是是企业必须关注的一个问题。这和程序员编写的计算机代码质量有关。实际上,每个大数据产品都是半成品,它们只是提供了一个计算框架,要实际应用到企业生产中,里面还有大量业务编码需要程序员来实现。要使大数据应用达到高质量,技术负责人要做好前期设计,清楚和规范业务流程,程序员拿在方案后,用统一格式编写代码。这是双方互相配合的过程。或者说,要做好协同和协调的事情。
1.网络带宽
网络是联接计算机的纽带,这个纽带当然越宽越好,这样可以在计算机资源许可的情况下,在单位时间内传输更多的数据,让计算机处理更多的数据。现在企业网络中,普遍采用的多是百兆网络,也有千兆,万兆虽然有,但是用得不多。
2.磁盘
所有数据,不管它从哪里来,最终都要存进不同的硬盘里面,或者闪存盘。闪存盘的读写效率比硬盘高得多,但是缺点也明显:价格贵、容量小。现在的存储介质主要还是硬盘,硬盘有顺序读写和随机读写两种模型。顺序读写是磁头沿着磁道,好象流水线一样,有规律的向前滚动进行。随机读写是磁头跳跃着,找到磁道上留空的地方,把数据写进去。很明显,顺序读写比随机读写效率高,所以系统架构师在设计大数据存储方案时,都是以顺序读写为主要选择。
3.计算机的数量
分布式的集群环境下,计算机的规模当然越大越好。这样在数据等量的情况下,计算机数量越多,分配给每台计算机的数据越少,处理效率自然就高了。但是计算机的数量也不是可以无限增加,集群对计算机规模的容纳有一个峰值,超过这个峰值,再提升就很困难,处理不好还会下降。原因主要来自木桶短板效应、边界效应、规模放大效应。根据多年前的一个测试,当时以Pentium 3和Pentium 4芯片为基础平台,配合100M网络,在上面运行LAXCUS大数据系统。当达到千台计算机的规模时,瓶颈开始显露出来。如果现在用新的X86芯片,加上更高速的网络,应该是能够容纳更多的计算机。
4. 成本
这是困扰所有企业的一个大问题。虽然大数据解决了很多企业在数据存储和计算上的问题,但是因为硬件基础设备的投入规模大,成本是成倍的增加。这个问题,可以从两个方面解决,一是采购成本,单体硬件价格是关键。二是运营成本,耗电量是关键。这种情况下,低价格低功耗的计算机架构应运而生了。这方面,ARM芯片走在了前面,目前几乎所有手机里的芯片,不管是水果系还是谷歌系,采用的都是ARM架构。试想一下,如果把这样的架构移植到大数据平台上,原来一堆嗡嗡叫的计算机,需要空调风扇配合的机房,换成了一堆安静如平板电脑/手机的计算机,是不是能够节约成本呢?这不是幻想,现在已经有人有企业在做这方面的工作了。5.代码质量
这不是关键问题,但是是企业必须关注的一个问题。这和程序员编写的计算机代码质量有关。实际上,每个大数据产品都是半成品,它们只是提供了一个计算框架,要实际应用到企业生产中,里面还有大量业务编码需要程序员来实现。要使大数据应用达到高质量,技术负责人要做好前期设计,清楚和规范业务流程,程序员拿在方案后,用统一格式编写代码。这是双方互相配合的过程。或者说,要做好协同和协调的事情。