ElasticSearch—基本概念

基本概念:

Cluster

节点集群通过集群名称区分,默认名称是elasticsearch

Node

没有节点都有一个随机的UUID (Universally Unique Identifier)来作为节点名称。

Index

索引是指具有相似特性的文档集合。每个索引也是用名称来标示的,这个名称会用来进行文档索引、搜索、更新和删除等索引操作。(Index <-> DataBase)

  1. 索引的名称必需全部是小写字符
  2. 在单个集群中可以定义多个索引

Type

在一个Index中可以定义多个Type,一个Type是索引的一个逻辑的分类或划分。通常我们将具有一组相同字段的文档集合定义为同一个Type。(Type <-> Table)

Document

Document 我们称之为文档,它代表了一个能被索引的最小数据单元。在一个Index或者Type中,我们可以存储很多条文档。

虽然文档是物理存储在Index中的,但是实际上它必需被索引或者分配到Index中的一个Type上。

Shards & Replicas

Shard:

一个索引能存储的数据量可能超过其硬件的支持。单节点的文档存贮达到一定量级可能导致查询搜索过慢的问题。为了解决这样的问题,ES提供分片的支持,所谓分片就是将Index分为多个片。在我们创建索引的时候就可以简单的定义Shard的个数。

每一个Shard都是一个独立的全功能的 'Index',bing qie并且能寄存在集群中任意的节点上。

  • 分片技术允许你去水平切分和扩展内容池
  • 分片技术允许你去分布式的并且平行的放置Shard来提升性能和吞吐量

至于Shard的分布式和搜索结果聚合机制完全封装在ES内部,对开发者透明。

Replicas:

在一般的网络环境或者云环境下,我们可能面临着随时崩溃的风险,我们需要提高系统的容错和崩溃处理机制。为了解决这样的问题,ES允许我们创建一个或多个Shard的副本,称之为Replica Shard

  • 副本不允许放置于同一个节点上,这样才能起到分片和节点容错作用
  • 副本同样可以提高系统的容量及吞吐量,因为查询操作可以在所有的副本上平行的执行
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容