大数据搜索选开源还是商业软件?ElasticSearch 对比 Splunk

本文对比了开源的ElasticSearch和商业软件Splunk在架构、功能、产品线和价格等方面的差异。ElasticSearch基于Lucene,提供RESTful API,适合实时搜索,而Splunk提供机器数据引擎,适用于大数据分析。两者在数据接入、存储、分析、展现和扩展性上有各自特点。ElasticStack(ELK)包括ElasticSearch、Logstash和Kibana,提供数据处理、存储和可视化。Splunk具有强大的SPL查询语言和丰富的应用生态。在价格方面,ElasticSearch基础组件开源,高级功能需付费,而Splunk按数据流量计费。
摘要由CSDN通过智能技术生成

本文就架构,功能,产品线,概念等方面就ElasticSearch和Splunk做了一下全方位的对比,希望能够大家在制定大数据搜索方案的时候有所帮助。

简介

ElasticSearch1)(2)是一个基于Lucene的开源搜索服务。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

ELKElasticSearchLogstashKibana的缩写,分别提供搜索,数据接入和可视化功能,构成了Elastic的应用栈。

Splunk 是大数据领域第一家在纳斯达克上市公司,Splunk提供一个机器数据的引擎。使用 Splunk 可收集、索引和利用所有应用程序、服务器和设备(物理、虚拟和云中)生成的快速移动型计算机数据 。从一个位置搜索并分析所有实时和历史数据。 使用 Splunk 处理计算机数据,可让您在几分钟内(而不是几个小时或几天)解决问题和调查安全事件。监视您的端对端基础结构,避免服务性能降低或中断。以较低成本满足合规性要求。关联并分析跨越多个系统的复杂事件。获取新层次的运营可见性以及 IT 和业务智能。

根据最新的数据库引擎排名显示,Elastic,Solr和Splunk分别占据了数据库搜索引擎的前三位。

趋势上来看,Elastic和Splunk上升明显,Elastic更是表现出了非常强劲的势头。

基本概念

Elastic

  • 准实时(NRT)
    Elasticsearch是一个准实时性的搜索平台,从数据索引到数据可以被搜索存在一定的时延。
  • 索引(Index)
    索引是有共同特性的文档的集合,索引有自己的名字,可以对索引执行搜索,更新,删除等操作。
  • 类型(Type)
    每个索引可以包含一个或者多个类型,类型可以看作一个索引数据的逻辑分组,通常我们会把拥有相同字段的文档定义为同一个类型。
  • 文档(Document)
    文档是索引信息的基本单元。Elastic中文档表现为JSON对象,文档物理存贮在索引中,并需要被制定一个类型。因为表现为JSON, 很自然的,文档是由一个个的字段(Feilds)组成,每个字段是一个名值对(Name Value Pair)
  • 评分(score)
    Elastic是基于Lucene构建的,所以搜索的结果会有一个打分。来评价搜索结果和查询的相关性。

下图是一个Elastic的搜索在Kibana中看到的例子,原始的数据是一个简单的日志文件:

我们通过logstash索引到Elasticsearch后,就可以搜索了。

Splunk

  • 实时性
    Splunk同样是准实时的,Splunk的实时搜索(Realtime Search)可以提供不间断的搜索结果的数据流。
  • 事件(Event)
    对应于Elastic的文档,Splunk的数据索引的基本单元是事件,每一个事件包含了一组值,字段,时间戳。Splunk的事件可以是一段文本,一个配置文件,一段日志或者JSON对象。
  • 字段(Fields)
    字段是可以被搜索的名值对,不同的事件可能拥有不同的字段。Splunk支持索引时(index time)和搜索时(search time)的字段抽取(fields extraction)
  • 索引(Indexes)
    类似Elastic的索引,所有的事件物理存储在索引上,可以把索引理解为一个数据库的表。
  • 知识对象(Knowledge Object)
    Splunk的知识对象提供对数据进一步的解释,分类,增强等功能,包括:字段(fields),字段抽取(fields extraction),事件类型(event type),事务(transaction),查找(lookups),标签(tags),别名(aliases),数据模型(data model)等等。

下图是一个Splunk的搜索在Splunk客户端看到的和前一个例子同样的日志数据的搜索结果。

从基本概念上来看,Elasticsearch和Splunk基本一致。从例子中我们可以看到很多的共性,事件/文档,时间戳,字段,搜索,时间轴图等等。其中有几个主要的差别:

  • Elastic不支持搜索时的字段抽取,也就是说Elastic的文档中的所有字段在索引时已经固定了,而Splunk支持在搜索时,动态的抽取新的字段
  • Elastic的搜索是基于评分机制的,搜索的结果有一个打分,而Splunk没有对搜索结果评分
  • Splunk的知识对象可以提供对数据更高级&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值