ElasticSearch-1 简介及发展

        ElasticSearch 是一个开源的高可用分布式全文检索引擎,可以近乎实时的存储、检索数据。扩展性好,可处理PB级别的数据。使用java开发,Lucene作为核心实现所有索引和搜索的功能。全文搜索为什么简单呢?因为它通过简单的 RESTful API 来隐藏 Lucene 的复杂性。下面先简单介绍一下 ElasticSearch 的特性和发展。

Lucene:

  • 基于 Java 语言开发的搜索引擎类库
  • 创建于1999年,2005年成为 Apache 顶级开源项目
  • Lucene 的局限性:
  1. 只能基于 Java 语言开发
  2. 类库的接口学习曲线陡峭
  3. 原生并不支持水平扩展

ElasticSearch 分布式架构:

  • 集群规模可以从单个扩展至数百个节点
  • 高可用 & 水平扩展 (服务和数据两个维度)
  • 支持不同的节点类型 (支持 Hot 和 Warm 架构)

 支持多种方式集成接入:

  • 多种编程语言的类库(Java、.NET、Python、Ruby、PHP、Groovy、Perl)
  • RESTful API vs Transport API (9200 vs 9300 建议使用 RESTful API)
  • JDBC & ODBC

ElasticSearch 的主要功能:

  • 海量数据的分布式存储以及集群管理 (服务与数据的高可用、水平扩展)
  • 近实时搜索,性能卓越(结构化、全文、地理位置、自动完成)
  • 海量数据的近实时分析(聚合功能)

ElasticSearch 版本与升级:

  • 0.4:2010年2月第一次发布
  • 1.0:2014年1月
  • 2.0:2015年10月
  • 5.0:2016年10月
  • 6.0:2017年10月
  • 7.0:2019年4月

新特性 5.X

  • Lucene 6.x,性能提升,默认打分机制从 TF-IDF 改为DB 25
  • 支持 Ingest 节点 / Painless Scripting / Completion suggested 支持 / 原生的 Java REST 客户端
  • Type 标记成 deprecated,支持了 Keyword 类型
  • 性能优化: 
  1. 内部引擎移除了避免同一文档并发更新的竞争锁,带来 15% ~ 20% 的性能提升
  2. Instant aggregation,支持分片上聚合的缓存
  3. 新增了Profile API 

新特性 6.X

  • Lucene 7.x
  • 新功能 :跨集群复制(CCR);索引生命周期管理;SQL 的支持
  • 更友好的升级及数据迁移:主要版本之间的迁移更为简化,体验升级;全新的基于操作的数据复制框架,可加快恢复数据
  • 性能优化:有效存储稀疏字段的新方法,降低了存储成本;在索引时进行排序,可加快排序的查询性能

新特性 7.X 

  • Lucene 8.0 
  • 重大改进:正式废除单个索引下多 Type 的支持
  • 7.1 开始, Security 功能免费使用
  • ECK :ElasticSearch Operator On Kubernetes
  • 新功能:New Cluster coordination;Script Score Query;Feature-Complete High Level REST Client
  • 性能优化:默认的 Primary Shard 数从 5 改为 1 ,避免 Over Sharding;性能优化,更快的 Top K

Elastic Stack 生态圈

Kibana 可视化分析利器:数据可视化工具,帮助用户解开对数据的任何疑问。

Beats:轻量的数据采集器,go语言开发,运行速度非常快。

Logstash:开源的服务器端数据处理管道,支持从不同来源采集数据,转换数据,并将数据发送到不同的存储库中。最初用来做日志的采集与处理。

Logstash 特性:

  • 实时解析和转换数据:从 ip 地址破解出地理坐标;将 PII 数据匿名化,完全排除敏感字段
  • 可扩展:200 多个插件(日志,数据库,NetFlow,Arcsigh)
  • 可靠性安全性:数据传输加密;Logstash 会通过持久化队列来保证至少将运行中的事件送达一次
  • 监控

ELK 应用场景:

  • 网站搜索、垂直搜索、代码搜索
  • 日志管理与分析、安全指标监控、应用性能监控、WEB抓取舆情分析

日志管理步骤:

  • 日志搜集
  • 格式化分析
  • 全文检索
  • 风险告警

ElasticSearch 的集成:

1. 搜索场景:单独使用 ElasticSearch 或者与数据库集成(考虑事务性,数据更新频繁,与现有系统集成)

2. 指标分析/日志分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值