elasticsearch架构及名词解释

elasticsearch是什么?

  elasticsearch简称es,是一个基于json的分布式搜索和分析引擎。它可以帮助我们用很快的速度去处理大规模数据,可以用于全文检索、结构化检索、推荐、分析以及统计聚合等多种场景。

es可以做什么?

  • 分布式文件存储,每个字段都可以被索引,并可被搜索
  • 分布式实时分析引擎
  • 处理pb级别的结构化数据和非结构化数据
  • 可以进行纵向拓展,拓张到上百台服务器

集群架构

  es主要有4类节点类型,分别如下:

  • 主节点(master):
    • 主要负责创建索引/删除索引/分配分片/追踪集群中节点状况等与集群操作相关的内容
    • 用户的请求可以发往任何一个节点,由该节点负责分发和返回结果,不需要经过主节点,所以一般来说,主节点的负载都是相对较轻的。
  • 数据节点(data节点)
    • 数据的存储
    • 针对于数据的具体操作,如curl/搜索/聚合等
    • 一般情况下,数据节点因为需要对数据进行处理,所以负载情况一般是比较重的,对机器的配置要求也比较高
  • 负载均衡节点(client节点)
    • 只负责请求的分发/汇总等
  • 预处理节点(Ingest节点)
    • 查询数据前对数据进行预处理操作
    • 所有的节点都可以当作处理节点,也可以专门指定某节点

名称解释

  索引(index)
  • es将数据存储在一个或者多个index中
  • 通过映射的方式将一个逻辑命名空间映射成一个或者多个主要的分片,也可以由零个或者多个副本分片
  • 对应着关系型数据库中的数据库或数据存储方案(schema)
  类型(type)
  • index内部的逻辑分区,对拥有相同域的文档做的预定义(也可以理解成把拥有相同属性的doc归在一起)
  • 相当于关系型数据库中的表
  文档(doc)
  • 索引和搜索的基本单位
  • 基于json存储和展示
  • 相当于关系型数据库表中的一行记录
  映射(mapping)
  • 指定字段的类型(与上述的type不是一个东西)
  • 可以手动设置,也可以通过es自动确定其字段类型
  • 定义倒排索引相关的设置,分析器等设置
  • 相当于关系型数据库中表结构的定义。但是又有点不同,个人理解,这里的设置字段类型,只是索引和分析的时候会被用到(不同的字段会根据不同的类型进行分析),当我们把数据存储当节点中是,是不会使用到这个设置的字段类型的。
  分片(shards)与副本(replica)
  • 分片实现了集群的分布式存储,副本实现了其分布式处理及亢余功能
  • 分片就是将一个index内的数据分布的存储在多个节点中
  • es按需移动这些shards,如节点出现故障等
  • 分类:
    • primary(主要分片)
      • 用于文档存储
      • 每个新的索引会自动创建5个primary shard,这个数量是可以自己配置的,不过一旦创建不可以更改
    • replica(副本分片)
      • primary shard的副本,用于亢余数据以及提高搜索性能
      • 默认一个primary shard配置一个replica,可配置
      • es会自动增加或者减少这些replica的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值