《1.》Elasticsearch是基于Lucene开发的。html
《2.》Lucene是基于Java语言开发的搜索引擎类库,建立于1999年,2005年成为Apache顶级开源项目。数据库
《3.》Lucene具备高性能、易扩展的优势。编程
《4.》Lucene的局限性:缓存
①只能基于Java语言开发安全
②类库的接口学习曲线陡峭性能优化
③原生并不支持水平扩展服务器
《1.》2004年Shay Banon基于Lucene开发了Compass架构
《2.》2010年Shay Banon重写了Compass,取名Elasticsearch并发
①支持分布式,水平可扩展框架
②下降全文检索的学习曲线,能够被任何编程语言调用
《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
《1.》海量数据的分布式存储 以及 集群管理
服务和数据的高可用,水平扩展
《2.》近实时搜索,性能卓越
结构化 | 全文 | 地理位置 | 自动完成
《3.》海量数据的近实时分析
聚合功能
《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.》使用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
《1.》使用了Lucene 7.X
《2.》新功能
① 跨集群复制 (CCR)
② 索引生命周期管理
③ SQL的支持
《3.》更友好的升级以及数据迁移
① 在主要版本之间的迁移更为简单,体验更好
② 全新的基于操做的数据复制框架,能够加快恢复数据
《4.》 性能优化
① 有效存储稀疏字段的新方法,下降了存储成本
② 在索引时进行排序,能够加快排序的查询性能
《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
《1.》开源的服务器端数据处理管道,支持从不一样来源采集数据,转换数据,并将数据发送到不一样的存储库中。
《2.》Logstash 诞生于2009年,最初用来作日志的采集与处理
《3.》Logstash 创始人 Jordan Sisel
《4.》2013年被Elasticsearch 收购
《1.》实时解析和转换数据
① 从IP地址破译出地理坐标
② 将PII数据匿名化,彻底排除敏感字段
《2.》能够扩展
① 200个插件(日志 | 数据库 | Arcsigh | Netflow)
《3.》可靠性安全性
① Logstash 会经过持久化队列来保证至少将运行中的时间送达一次
② 数据传输加密
《4.》监控
《1.》 Kibana 名字的含义 = Kiwifruit + Banana
《2.》数据可视化工具 ,帮助用户解开对数据的任何疑问
《3.》基于Logstash的工具,2013年加入Elastic公司
《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开源
知足不一样的数据源
https://www.elastic.co/cn/products/beats
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 , 黄金级 , 白金级
https://www.elastic.co/cn/use-cases/
《1.》应用场景
① 网站搜索 | 垂直搜索 | 代码搜索
② 日志管理与分析 | 安全指标监控 | 应用性能监控 | WEB抓取舆情分
《2.》日志管理
《3.》Elaticsearch与数据库的集成
① 单独使用Elasticsearch存储【不建议这么用】
②如下状况能够考虑与数据库集成
<1.> 与现有系统集成
<2.> 须要考虑事务性
<3.> 数据更新频繁
《4.》指标分析 | 日志分析