(七)集算器的大数据定位

集算器可以用来做大数据计算,在业界已经有众多大数据平台时,集算器的定位又如何呢?它有什么不同?

目前的大数据计算平台大概是两种:数据库扩容以及相关的MPP方案和HADOOP体系。


数据库本身扩容能力有限,在数据量较大时就撑不住了,而MPP方案的建设成本相当高昂。而且,业界目前普遍认为安装在小型机甚至专用机上的传统数据库不代表未来,即使当前阶段的能力仍然更好也被认为不合时宜,而不愿意继续在这上面加大投资。于是数据库经常就成为一个事实上的小数据计算平台。

而HADOOP体系的设计目标是超大规模集群,要几百甚至上千节点时才能显露出优势来,它消耗了大量资源用于容错和复杂的任务调度管理机制,在集群节点数不够多时反而没什么优势。

这样,传统数据库解决小数据量,HADOOP解决超大数据量,占大多数的中等规模应用场景是个空白,目前用户也只能用HADOOP来做,杀鸡用了牛刀,因为没有鸡刀。

集算器填补这一空白。集算器定位中小规模的集群,设计规模就是几个到几十个节点,原则上不要超过一个交换机,这是绝大多数用户的实际场景。在这个规模下,集算器不需要考虑太多容错问题,也没有太复杂的任务调度要求,把有限的资源尽量多地投入到计算本身中,从而获得更优的效率。

事实上,由于集算器的高性能,在Hadoop下需要很多节点才能完成的运算,使用集算器只有很少甚至单机就可以完成,也没必要把集群做得很大。

另外,从运算类型上看,集算器定位于SQL不容易实现的运算

做SQL解决方案的厂商很多,甚至可以说已经做到极致了,能在SQL体系下顺利解决的大数据问题,已经有足够多成熟方案供选择,我们就不打算再闯进这个阵营中了。比如多维分析的后台运算,用SQL写出来就很简单,有太多的厂商对此进行了深入的优化,集算器也很难做得更好。

但是,有不少情况下用SQL语法很难甚至无法描述出高性能算法,比如过程式计算用SQL很不好写,经常需要程序员用别的方案写代码完成,而这些任务也常常涉及大数据高性能的问题,这些就都是集算器的定位所在了。