elasticsearch Getting Started (一)-简介

elasticsearch Getting Started

作者博客地址

原文链接(英文)

基本概念

本部分描述一些 elasticsearch 的核心概念,先了解这些概念有利于学习elasticsearch的过程。

近乎实时性(Near Realtime NRT)

elasticsearch是一个近乎实时的搜索平台,这就意味着从索引某一个文档到可查询这篇文档之间会有轻微的延时(大约1s,可以配置);

集群

集群是一个或者多个节点(服务器)一起管理整个的数据,提供对所有节点联合索引和查询能力的集合。一个集群是通过一个唯一的cluster name来区分的,默认为elasticsearch。这个名称很重要,因为一个节点只能通过这个名字加入到某一个特定的集群。要保证你不会在不同环境下重用同一个cluster name,不然你可能会将节点加入到错误的集群中。注意,在一个集群中只拥有一个节点是可以的。

节点

一个节点就是集群中的一个服务器,用来存储数据,提供索引和查询功能,跟集群一样,一个节点用一个唯一的名称作为区分,默认是一个随机的Marvel character,你可以定义任何名称如果你不想用默认的。这个名称便于区分你网络中的服务器对应于集群中的哪个节点。
一个节点可以通过cluster name配置加入某一个集群,默认加入elasticsearch集群,这就意味着,如果你启动了一些节点(假设他们可以互相发现对方),他们会自动的加入到elasticsearch集群中。

索引

一个索引就是一些相同特征的文档集合,比如,你可以用一个索引存储用户信息,用另外一个索引存储订单信息。一个所以是通过名称区分的(必须全部小写),当你进行索引,查询,更新和删除操作时,用这个名称指向该索引。
在一个集群中可以随意定义索引的个数。

类型

在一个索引中,可以定义一个或多个类型。一个类型就是在索引中语义完全由你决定的逻辑分类或者分区,通常一个文档类型会被定义为含有很多相同的字段。举个例子,假设你运行着一个博客平台,并且在同一个索引中存储了你的所有的数据。在这个索引中,你可以定义一个类型为用户数据,定义另外的一个类型为博客数据,另外的一个类型为评论数据。

文档

文档是可以被索引的信息的基本单元。举个例子,你可以有一个文档保存了一个用户数据,另外一个文档保存了保存了一条产品信息,另外的一条文档保存了一条订单信息。文档被解释为 json,这是一种通用的互联网数据交换格式。
在一个索引或者类型中,你可以保存任意多的文档数量。注意,尽管一个文档物理上从属于一个索引,但是实际上一条文档必须被分配在索引中的一个类型中。

分片和副本

一个索引可能存储数量非常大的数据有可能会超过一个节点的硬件限制。比如,一个含有十亿条文档的单独的索引可能会使用1TB的硬盘存储空间,这样的会可能一个单独的节点装不下,或者导致查询速度变得很慢。
为了解决这样的问题,Elasticsearch提供了可以将索引细分为多个分片的能力。当你创建一个分片的时候,你可以简单的定义分片的数量。每个碎片本身就是一个全功能的,独立的索引,可以在集群中的任何节点上运行。

分片重要的原因主要有两个:

  • 它可以让你水平分割或者横向扩展你的数据量;
  • 可以通过分片进行分布式或者并行操作(可能在多个节点之间),这样来提高性能或者增加吞吐量。

分片如何分布式以及文档数据如何在查询时候汇集在一个请求中是完全由Elasticsearch完成的,对于用户来说是透明的。
在网络或者云环境中,故障是随时都有可能发生的,因此在分片不论什么原因宕机的情况下,故障转移机制是非常有用而且被提倡的。为此,Elasticsearch允许你将索引分片复制到一个叫做复制分片中,或者简称为副本。

复制分片有两个主要的原因很重要:

  • 提供了高可用性以防分片或者节点挂掉。出于这样的原因,复制分片不应当分配在跟主分片在同一个节点上。
  • 扩大了搜索量,因为搜索操作可以在分片上你并行运行。

总结来说,每一个索引可以被切分成多个分片,一个索引也可以被复制0次或者多次。一旦复制,每个索引就会有一个主要分片和复制分片。主要分片和复制分片的数量可以在索引创建的时候被指定,之后只可以更改复制分片的数量而不可以更改主要分片的数量。
默认,elasticsearch分配每个索引5个主要分片,和1个复制分片,这就意味着你必须要有两个节点在你的集群中,你的索引将会有5个主要分片,5个复制分片,总共10个分片。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值