设为首页 收藏本站
查看: 1069|回复: 0

[经验分享] elasticsearch的一些基本概念

[复制链接]

尚未签到

发表于 2017-5-20 12:35:46 | 显示全部楼层 |阅读模式
elasticsearch的一些基本概念
需要我们注意的是,这些概念理解只是解释其含义,不推荐强制翻译成中文。
Index:这是ES存储数据的地方,类似于关系数据库的database。
Document type:嗯,类似关系数据库的表,主要功能是将完全不同schema(这个概念以后会讲到,不急)的数据分开,一个index里面可以有若干个Document type。
Document:好吧,这个类似关系数据库的一行,在同一个Document type下面,每一Document都有一个唯一的ID作为区分;
Filed:类似关系数据库的某一列,这是ES数据存储的最小单位。
ClusterNode:ES可以以单点或者集群方式运行,以一个整体对外提供search服务的所有节点组成cluster,组成这个cluster的各个节点叫做node。
shard:通常叫分片,这是ES提供分布式搜索的基础,其含义为将一个完整的index分成若干部分存储在相同或不同的节点上,这些组成index的部分就叫做shard。
Replica:和replication通常指的都是一回事,即index的冗余备份,可以用于防止数据丢失,或者用来做负载分担。

 
集群
集群是一个或多个节点的集合。他们一起保存你的数据,在所有节点间提供联合索引和搜索功能。一个集群由一个特定的名称表示,默认为“elasticsearch”。这个名字是很重要的,因为一个节点只能根据这个名字,加入一个集群。在实际应用中,建议 显式设置集群名称,但是在测试或开发时,用默认名称就可以了。
注意,一个集群只有一个节点是允许的,而且可以完美运行。此外,你可以有很多具有不同名字的独立的集群。
节点
一个节点是一个单独的服务器,它作为你集群的一部分,存储你的数据,参与集群的索引和搜索功能。和集群一样,节点也是由一个名字表示,默认在启动时随机分配一个名字。如果你不喜欢默认的名字,你可以定义任何你想要的名字。这个名字对于管理来说是比较重要的,它定义了你网络中的服务器,对应Elasticsearch集群中的哪个节点。
一个节点,通过配置集群名字,加入一个特定的集群。默认,每个节点被设置加入一个名字为“elasticsearch”的集群。它意味着,如果你在网络中启动很多个节点(假设他们可以互相通信),他们会自动加入一个名为“elasticsearch”的集群。
在一个集群中,你可以加入任意数量的节点。此外,如果在你的网络中,没有运行的elasticsearch节点,启动一个几点,会默认构成一个新的名为“elasticsearch”单节点集群。
索引
在一个索引中,你可以定义一种或多种类型。类型是你索引的一种逻辑分类,他的语义完全由你决定。通常,类型是对拥有相同字段的文档的定义。例如,假设你运行了一个博客平台,在一个索引中存储了你所有的数据。在这个索引中,你可能为用户数据定义了一种类型,为博客定义了另外一种类型,甚至对评论定义了另外一种类型。
文档
文档是可以存入索引的信息的基本单位。例如,你可以拥有一个关于特定用户的文档,关于特定产品的文档,甚至一个关于订单的文档。这个文档用JSON表示。
在一个索引/类型中,你可以存储任意多的文档。注意尽管一个文档物理存在于一个索引中,它实际必须指定这个索引中的一种类型。
分片&副本
一个索引可能存储超过一个节点硬件限制的数据。例如,一个拥有10亿文档、占用1TB磁盘空间的索引,可能不适合在一个节点的磁盘上面,或者对于一个单节点的搜索请求速度太慢。
为了解决这个问题,Elasticsearch提供了将你的索引分成称作分片的多个块。当你创建一个索引,你可以简单的定义你想要的分片数量。每一个分片自身就是一个全功能和独立的“索引”,可以托管在集群中的任何节点上。
分片有以下两个重要的原因:
--它允许你水平调整容量
--它允许你在分片上分发和并行操作(可能在多个节点上),因此提高了性能/吞吐量
一个分片如何分布、它的文档如何聚合回搜索请求完全由Elasticsearch管理,对用户来说是透明的。
在一个网络或云环境中,不论什么原因一个分片或节点离线或消失时,有一个故障转移机制是很有用且被强烈推荐的。为此,Elasticsearch允许你复制一个或多个索引分片到备用分片,简称副本。
复制有以下两个重要的原因:
--它提供了分片/节点失败时的高可用。为此,要注意一个备用分片永远不能与主分片分配到同一个节点上。
--它允许你拓展你的搜索容量/吞吐量,因此搜索可以再所有副本中并行执行。
总而言之,每个索引可以分成多个分片。一个索引当然也可以被复制0到多份。一旦复制了,每个索引会有主分片(原始分片)和副本分片(主分片的复制)。分片的副本的数量可以在索引创建时定义。索引简历后,你可以在任何时候动态的改变副本数量,但你不能改变分片数量。
默认,Elasticsearch中的每个索引被分配5个分片和1个副本,它意味着如果你集群中至少有两个节点,你的每个索引会有10个分片:5个主分片和另外5个副本分片(1个完整的副本)。
 
 
 http://blog.csdn.net/sdlyjzh/article/details/41720295
http://blog.csdn.net/henriezhang/article/details/37961493

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-379345-1-1.html 上篇帖子: Elasticsearch模块功能之-映射(Mapper) 下篇帖子: Shards and replicas in Elasticsearch
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表