Elasticsearch简单学习2:起源与发展

一、起源-Lucene

921ef01869b929ccb51d4180ec32e71c29e.jpg

《1.》Elasticsearch是基于Lucene开发的。

《2.》Lucene是基于Java语言开发的搜索引擎类库,创建于1999年,2005年成为Apache顶级开源项目。

《3.》Lucene具有高性能、易扩展的优点。

《4.》Lucene的局限性:

        ①只能基于Java语言开发

        ②类库的接口学习曲线陡峭

        ③原生并不支持水平扩展

二、Elasticsearch的诞生

e24c72e8135e2beba2eb338dd57583c6411.jpg

《1.》2004年Shay Banon基于Lucene开发了Compass

《2.》2010年Shay Banon重写了Compass,取名Elasticsearch

          ①支持分布式,水平可扩展

          ②降低全文检索的学习曲线,可以被任何编程语言调用

三、Elasticsearch的分布式架构

2845e89031d2cab6924ceedcdd33f728d44.jpg

《1.》集群规模可以从单个扩展至数百个节点

《2.》高可用 & 水平扩展  

         服务和数据两个维度

《3.》支持不同的节点类型

          ①支持Hot & Warm架构

四、支持多种方式集成接入

《1.》多语言支持(Java | .Net | Python | Ruby | Php | Groovy | Perl)

https://www.elastic.co/guide/en/elasticsearch/client/index.html

 

《2.》Restful API  & Transport API

9200   &  9300 (建议使用RESTful API)

 

《3.》JDBC  & ODBC

 

五、Elasticsearch的主要功能

《1.》海量数据的分布式存储 以及 集群管理

          服务和数据的高可用,水平扩展

 

《2.》近实时搜索,性能卓越

         结构化  |  全文 | 地理位置 | 自动完成

 

《3.》海量数据的近实时分析

         聚合功能

 

六、Elasticsearch的版本与升级

《1.》0.4    : 2010年2月第一次发布

《2.》1.0     :  2014年1月

《3.》2.0   : 2015年10月

《4.》5.0   :2016年10月

《5.》6.0   :2017年10月

《6.》7.0   :2019年4月

https://www.elastic.co/cn/support/eol

1. 5.X的新特性       

《1.》使用Lucene 6.X ,性能提升,默认打分机制从TF-IDF 改为 BM25

《2.》支持Ingest节点 | Painless Scripting | Completion suggetsted 支持 | 原生的Java REST客户端支持

《3.》Type标记为deprecated ,支持了keyword的类型

《4.》性能优化

         ① 内部引起移除了避免同一个文档并发更新的竞争锁,带来了 15% - 20%的性能提升

         ② Instant aggregation ,支持分片上聚合的缓存

         ③ 新增了Profile API

2. 6.X 新特性

《1.》使用了Lucene 7.X

《2.》新功能

         ① 跨集群复制 (CCR)

         ② 索引生命周期管理

         ③ SQL的支持

《3.》更友好的升级以及数据迁移

        ① 在主要版本之间的迁移更为简单,体验更好

        ② 全新的基于操作的数据复制框架,可以加快恢复数据

《4.》 性能优化

        ① 有效存储稀疏字段的新方法,降低了存储成本

        ② 在索引时进行排序,可以加快排序的查询性能

3. 7.X 新特性

《1.》使用Lucene 8.0

《2.》重大改进 - 正式废除单个索引下多Type的支持

《3.》7.1开始 ,Security 功能免费使用

《4.》支持K8S ,ECK - Elasticsearch Operator on Kubernets

《5.》新功能

          ① New Cluster coordination

          ② Feature-Complete High Level REST Client

          ③ Scipt Score Query

《6.》性能优化

        ① 默认的Primary Shard数从5 改为 1,避免Over Sharding

        ② 性能优化,更快的Top K

七、Elastic Stack 生态圈

c5a3877f3b3f1551be6311e3422d90c5616.jpg

1.Logstash数据处理通道

860baeaebd584b889efeef060c9262af9d2.jpg

《1.》开源的服务器端数据处理管道,支持从不同来源采集数据,转换数据,并将数据发送到不同的存储库中。

《2.》Logstash 诞生于2009年,最初用来做日志的采集与处理

《3.》Logstash 创始人 Jordan Sisel

《4.》2013年被Elasticsearch 收购

2.Logstash 特性

《1.》实时解析和转换数据

        ① 从IP地址破译出地理坐标

        ② 将PII数据匿名化,完全排除敏感字段

《2.》可以扩展

        ① 200个插件(日志 | 数据库 | Arcsigh | Netflow)

《3.》可靠性安全性

        ① Logstash 会通过持久化队列来保证至少将运行中的时间送达一次

        ② 数据传输加密

《4.》监控

3.Kibana 可视化分析利器

1986beadb4d43dd2f50d6fb4303bc466124.jpg        

《1.》 Kibana 名字的含义 = Kiwifruit + Banana

《2.》数据可视化工具 ,帮助用户解开对数据的任何疑问

《3.》基于Logstash的工具,2013年加入Elastic公司

4.Elastic stack的发展

《1.》2015年3月收购Elastic Cloud ,提供Cloud服务

《2.》2015年3月收购PacketBeat

《3.》2016年9月收购PreAlert - Machine Learning 异常检测

《4.》2017年6月收购Opbeat 进军 APM

《5.》2017年11月收购SaaS厂商Swiftype ,提供网站和APP搜索

《6.》2018年 X-Pack开源

5.Beats - 轻量的数据采集器

满足不同的数据源

67c27688465f597911650fbd35274d1ee79.jpg

9f258831f395aba88a339a2f04e6b0d9604.jpg

https://www.elastic.co/cn/products/beats

6.X-pack 商业化套件

https://www.elastic.co/cn/subscriptions

《1.》6.3之前的版本 ,X-Pack以插件方式安装

《2.》X-Pack开源之后,Elasticsearch & kibana支持 OSS版 和 Basic两种版本

        部分X-Pack功能支持免费使用,6.8和7.1开始,Security功能免费

《3》OSS , Basic  , 黄金级  , 白金级

7.ELK 客户以及应用场景

https://www.elastic.co/cn/use-cases/

《1.》应用场景

        ① 网站搜索 | 垂直搜索 | 代码搜索

        ② 日志管理与分析 | 安全指标监控 | 应用性能监控 | WEB抓取舆情分

《2.》日志管理

60a31e3de40b539693957f8341d9b6e9e30.jpg

《3.》Elaticsearch与数据库的集成

1a5f5eaebf5f3b699cb95d8dbaf9e411623.jpg

① 单独使用Elasticsearch存储【不建议这么用】

②以下情况可以考虑与数据库集成

    <1.> 与现有系统集成

   <2.> 需要考虑事务性

   <3.> 数据更新频繁

《4.》指标分析 | 日志分析

c8886eb0178acf880465a2153a385d6fe34.jpg

 

转载于:https://my.oschina.net/hanchao/blog/3070655

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值