• Elasticsearch发展史


    简介

    Elasticsearch是当前比较流行的开源的分布式搜索和数据分析引擎,具备易使用、高性能、扩展性强等特点。是ElasticStack的核心组件,以其为核心构建的ELK,已经是日志分析领域的事实标准。Elasticsearch是怎么一步一步发展成熟的呢?

    2010年2月8日, Shay Banon 发表了一篇博客,说他基于Lucene开发(封装 ???)了一个分布式搜索引擎,实现了一些功能。。。
    在这里插入图片描述

    0.7.0

    2010年5月14日发布,第一个可以查询到发版信息的版本,重要特性:

    • Zen Discovery 自动发现模块
    • Groovy Client支持
    • 简单的插件管理机制
    • 更好支持ICU分词器
    • 更多的管理API

    1.0.0

    2014年2月14日发布,重要特性:

    • Snapshot/Restore API 备份恢复API
    • 支持聚合分析Aggregations
    • CAT API 支持
    • 支持联盟查询
    • 断路器支持
    • Doc values 引入

    2.0.0

    2015年10月28日发布,重要特性:

    • 增加了 pipleline Aggregations
    • query/filter 查询合并,都合并到query中,根据不同的上下文执行不同的查询
    • 存储压缩可配置
    • Rivers 模块被移除
    • Multicast 组播发现被移除,成为一个插件,生产环境必须配置单播地址

    5.0.0

    2016年10月26日发布,重要特性:

    • Lucene 6.x 的支持,磁盘空间少一半;索引时间少一半;查询性能提升25%;支持IPV6。
    • Internal engine级别移除了用于避免同一文档并发更新的竞争锁,带来15%-20%的性能提升
    • Shrink API ,它可将分片数进行收缩成它的因数,如之前你是15个分片,你可以收缩成5个或者3个又或者1个,那么我们就可以想象成这样一种场景,在写入压力非常大的收集阶段,设置足够多的索引,充分利用shard的并行写能力,索引写完之后收缩成更少的shard,提高查询性能
    • 提供了第一个Java原生的REST客户端SDK
    • IngestNode,之前如果需要对数据进行加工,都是在索引之前进行处理,比如logstash可以对日志进行结构化和转换,现在直接在es就可以处理了
    • 提供了 Painless 脚本,代替Groovy脚本

    6.0.0

    2017年8月31日发布,重要特性:

    • 稀疏性 Doc Values 的支持
    • Index sorting,即索引阶段的排序。
    • 顺序号的支持,每个 es 的操作都有一个顺序编号(类似增量设计)
    • 无缝滚动升级
    • Removal of types,在 6.0 里面,开始不支持一个 index 里面存在多个 type
    • Index-template inheritance,索引版本的继承,目前索引模板是所有匹配的都会合并,这样会造成索引模板有一些冲突问题, 6.0 将会只匹配一个,索引创建时也会进行验证
    • Load aware shard routing, 基于负载的请求路由,目前的搜索请求是全节点轮询,那么性能最慢的节点往往会造成整体的延迟增加,新的实现方式将基于队列的耗费时间自动调节队列长度,负载高的节点的队列长度将减少,让其他节点分摊更多的压力,搜索和索引都将基于这种机制。
    • 已经关闭的索引将也支持 replica 的自动处理,确保数据可靠。

    7.0.0

    2019年4月10日发布,重要特性:

    • 引入了真正的内存断路器,它可以更精准地检测出无法处理的请求,并防止它们使单个节点不稳定
    • Zen2 是 Elasticsearch 的全新集群协调层,提高了可靠性、性能和用户体验,变得更快、更安全,并更易于使用
    • 查询优化
      • 更快的前 k 个查询
      • 间隔查询
      • Function score 2.0
  • 相关阅读:
    哥也能写KMP了——实现strstr()
    面试归来,感觉无望,下次再战
    Pow(x, n)
    Length of Last Word
    后缀数组应用
    2倍倍增算法构造后缀数组
    跳台阶问题
    求无序数组中第二大的数--快速选择
    单源最短路径问题
    全局下的isFinite
  • 原文地址:https://www.cnblogs.com/wangzhen3798/p/10751516.html
Copyright © 2020-2023  润新知