所在的位置: html >> html介绍 >> Elasticsearch学习总结一

Elasticsearch学习总结一

北京皮肤科医院 http://pf.39.net/bdfyy/bdfjc/160306/4781506.html

Elasticsearch是什么

Elasticsearch是一个分布式的开源搜索和分析引擎。

适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。

Elasticsearch在ApacheLucene的基础上开发而成,由ElasticsearchN.V.(即现在的Elastic)于年首次发布。

ElasticStack介绍

Elasticsearch是ElasticStack的核心组件之一。

ElasticStack是适用于数据采集、充实、存储、分析和可视化的一组开源工具。

通常将ElasticStack称为ELKStack(代指Elasticsearch、Logstash和Kibana)。

目前ElasticStack包括一系列丰富的轻量型数据采集代理,这些代理统称为Beats,可用来向Elasticsearch发送数据。备注:单纯管理日志性能较难超过时序数据库。

Elasticsearch特点

REST风格API

分布式

速度快

可扩展

Elasticsearch主要功能

快速数据访问:Elasticsearch中的所有文档都存储在靠近索引中相应元数据的位置。这减少了数据所需的读取操作次数,从而缩短了整体搜索结果响应时间。

自动节点恢复:如果节点因节点故障、故意移除等任何原因离开Elasticsearch集群,主节点会采取必要的措施,将节点替换为其副本并重新平衡所有分片以自动管理负载。

升级助手API:升级助手API使用户能够检查其Elasticsearch集群的升级状态并重新索引在以前版本的Elasticsearch中创建的索引。该助手可帮助用户为Elasticsearch的下一个主要版本做好准备。

索引生命周期管理:Elasticsearch索引生命周期管理(ILM)允许用户定义和自动化许多策略,这些策略有助于控制Elasticsearch索引在每个阶段的生存时间。它还允许用户设置在每个阶段对索引执行的操作。

搜索引擎的可扩展性:Elasticsearch实现了一个分布式架构,使其能够扩展到数千台服务器并处理PB级的数据,而不会遇到任何性能问题。这种分布式设计由Elasticsearch自动处理,因此客户可以专注于执行所需的操作。

ElasticsearchvsPostgreSQL(1)

PG关系数据库数据库表行列(Columns)

Elasticsearch索引(Index)类型(type)文档(Docments)字段(Fields)Elasticsearch性能上的优势在索引,它提供强大的索引能力,Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤

Elasticsearch的索引思路:将磁盘里的东西尽量搬进内存,减少磁盘随机读取次数(同时也利用磁盘顺序读特性),结合各种算法,用及其苛刻的态度使用内存

ElasticsearchvsPostgreSQL(2)

数据库模型:NoSQL分布式文档vs结构化数据(+扩展)

事务支持:无vs强支持

架构灵活性:可自动推断数据类型vs需明确预定义

CAP定理实现:可用性和分区容错vs一致性和可用性

安全性:弱vs访问控制+安全身份验证

云产品:多层次产品vs依赖第3方

ElasticsearchvsPostgreSQL(3)

全文检索性能对比

针对性优先后PG性能可以接近Elasticsearch

PG的优化难度较大,成本较高参见


转载请注明:http://www.aierlanlan.com/rzfs/3290.html