Elasticsearch基本概念

By 刘志军, 2019-12-14, 分类: PYTHON技术

elasticsearch

要使用好 Elasticsearch,有几个概念你不得不弄清楚。

Node 、 Cluster

Elasticsearch 本质上是一个分布式数据库,单个 Elasticsearch 实例称为一个节点(node),一组节点构成一个集群(cluster)。

索引(index)

Elasticsearch 的索引类似于巨大的字典结构,保存了关键字到文档记录之间的映射关系, 也称为倒排索引,索引使得 Elasticsearch 支持快速检索,ElasticSearch 将不同数据存储在不同索引(index)中。例如订单数据放在订单索引,用户数据放在用户索引中,如果类比 MySQL,索引就像数据库,可以向索引写入文档或者从索引中检索文档、更新文档、删除文档等操作。

文档(Documents)

文档可以理解为一条数据记录,例如一条订单记录,一条用户记录,都叫一个文档,文档用JSON 格式表示,文档可以由多个字段组成,例如一条用户记录中有名字、性别、地址等信息,在一个索引中可以存储无数个文档。

2018101619393456.png

分片和副本(Shards & Replicas)

分片和副本都是分布式系统中的概念,分片是为了解决单节点故障问题,可以将索引中的数据拆分在不同节点的多个分片(Shads)中,使得数据可以横向扩展,多个 shards 分布式并发的操作,从而提升整体性能和吞吐量。

副本(Replicas)是为了解决容错而设计的高可用方案,数据如果只存储一份有可能导致数据丢失,为此,同一一份数据保留多个副本确保的数据的高可用性。

参考文档:


有问题可以扫描二维码和我交流

关注公众号「Python之禅」,回复「1024」免费获取Python资源

python之禅

猜你喜欢

2019-12-14
Elasticsearch 安装
2019-12-14
Elasticsearch 查询
2019-12-14
Elasticsearch 分析器
2019-12-14
Elasticsearch基本操作
2019-12-14
Elasticsearch 映射