目录
Elasticsearch介绍
Elasticsearch(ES)是基于Lucene构建的开源、分布式、Restful接口全文搜索引擎。它还是一个分布式文档数据库,其中每个字段均是被索引的数据且可被搜索,
它能够扩展至数以百计的服务器存储及处理PB级的数据。它可以在短时间内存储、搜索、分析数据。它通常作为具有复杂搜索场景情况下的核心发动机。
ES就是为高可用和可扩展而生的。可以通过购置性能更强的服务器来完成。
Elasticsearch的优势
横向可扩展性:只需要增加数台服务器,修改配置,启动ES,就可以并入集群。
分片机制:可提供更好的分布性,同一个索引分成多个分片(sharing),这点类似HDFS的块机制;分而治之的方式,可以提高处理效率。
高可用:提供复制(replica)机制,一个分片可以设置多个复制,使得某台服务器在宕机的情况下,集群仍然可以正常运行,并把丢失的数据,复制到其他节点上。
口令简单:共需一条命令,就可以下载文件,就能够快速搭建一个站内搜索引擎。
Elasticsearch的应用场景
目前应用于大型分布式日志分析系统ELK(Elasticsearch+Logstash+kabana),其中ES用于存储日志,Logstash用于收集日志,kabana用于展示数据。还有大型电商搜索系统、
网盘搜索系统、其他搜索相关业务系统
Elasticsearch存储结构
Elasticsearch是文件存储,面向文档型数据库,这个和mongodb一样,都是面向文档型数据库,一条数据就是一个文档,以JSON作为文档序列化的格式,比如
{
"name": "xiaoming",
"sex": 0,
"age": 25
}
关系型数据库 |
数据库 |
表 |
行 |
列 |
Elasticsearch |
索引(index) |
类型(type) |
文档(documents) |
字段(fields) |