(八)集算器采用的开源技术
有许多用户关心集算器是不是采用开源技术实现的,特别地,是不是Hadoop上的某种计算解决方案?
这里明确回答:集算器的核心运算引擎没有采用任何开源产品,完全是我们自己写出来的。集算器不是Hadoop上的计算模块,在设计集群方案时也没有参考借鉴Hadoop体系(虽然我们大体了解Hadoop的机制),集算器的实现技术和Hadoop没有关系,只是将Hadoop作为数据源对待,集算器集群的运行不需要Hadoop环境。
不用开源的道理也很简单,因为实在没有什么可用的。
集算器是个理论创新的产品,业界没有采用类似模型的技术产品,只能自己做。有些底层的基本计算(表达式计算、分组、过滤等)也有通用性,但要形成一套完整的体系,并且保证足够的性能,也还是要自己实现才能完全控制。而且,我们因为有十多年开发报表工具的经验,这些底层计算本来就有丰富的积累,也不需要再采用开源技术了。
至于不涉及算法理论的集群方案,我们也没有去参考Hadoop,原因是它的集群设计目标与集算器相差较大,框架也过于复杂。作为一个轻量级中小规模的集群体系,集算器没必要也不合适去借鉴Hadoop的方案。
那个,集算器中使用了开源技术吗?
有的,不过并不多,也都在边缘和外围。比如读写Excel文件就用了poi包(这个包做得挺好的),还有国际化本地语言排序、日志输出等等;特别地,开发环境的外观以及表达式的编辑也用了开源技术。