splunk是针对超大数据集和的低延迟的集群分布式的计算系统,和其他的同类产品相比,速度快了大约40倍。同时,它是Hadoop的升级版本,使用更先进的技术,让软件更好的为人们服务。
尽管Hadoop适合大岁数批处理工作负载 而且在大数据时代成为企业的首选技术,但是由于限制,让它对一些工作负载并不是最佳的选择。比如缺少对迭代的支持、需要将中间数据存在硬盘上保持一致性、有比较高的延迟。作为优化的版本,splunk完美的解决了这些问题,使用内存代替使用hdfs存储中间结果。
作为app数据分析工具的领头羊,splunk是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合,需要反复操作的次数越多,所需读取的数据量越大,受益越大;数据量小但是计算密集度较大的场合,受益就相对较小。由于弹性分布式数据集的特性,splunk不适用那种异步细粒度更新状态的应用,如Web服务的存储或者是增量的Web爬虫和索引,就是对于那种增量修改的应用模型不适合。总的来说,splunk的适用面比较广泛且比较通用。 同时,splunk提供的数据集操作类型有很多种,比如map、filter等多种,不和其他的软件一样,只提供了一两种操作。
另外,这款软件是不简单的。它基于各种不同角色,开发了用户管理。能够做水平进入垂直扩展而不需要再进行特殊区分。比如有些产品的转发器、索引、检索全部分开了,这会增加使用者的学习成本,但是splunk实力本身就具有多个角色,能够减少人们花费时间去区分它们。由于splunk各种功能都具备,所以不会在需要其他的软件进行补充,从另一个角度来看,节省了成本。