ES 概念

es 概念

Elasticsearch是分布式实时搜索、实时分析、实时存储引擎,简称(ES)成立于2012年,是一家来自荷兰的、开源的大数据搜索、分析服务提供商,为企业提供实时搜索、数据分析服务,支持PB级的大数据。 -- 公司网站: https://www.elastic.co

基于Apache Lucene 开源搜索引擎,Lucene是目前公认的性能最好,最先进的,功能最全的搜索引擎

lElasticsearch使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,通过简单RESTfulAPI来隐藏Lucene的复杂性,从而让全文搜索变得简单。 超出你的想像,从10亿的数据查出一条只需要1-2秒内。

l实时分析 ,实时搜索 ,可分布,可扩展到上百台PB机器。

l著名的gitHub网站 用es来搜索 20TB的数据。包括13**亿文件与1300亿行**的代码。

l集群:多台Es服务器的结合的统称叫ES集群,一个集群包含多台服务器,多个节点。

l 节点:一个节点是你集群中的一个服务器,作为集群的一部分,它存储你的数据,参与集群的索引和搜索功能。

  1. 索引(Index)

    • 索引是Elasticsearch中的主要数据容器,类似于关系型数据库中的表。它是一种逻辑容器,用于组织和存储具有相似结构的文档。

    • 每个索引都有一个唯一的名称,用于在Elasticsearch中标识和引用它。

    • 索引定义了文档的存储方式、分片和副本配置等信息。

  2. 类型(Type)(已弃用):

    • 在较早的Elasticsearch版本中,索引内部可以包含不同类型的文档,每种类型表示不同的数据结构。例如,在一个名为"people"的索引中,可以有"employee"类型和"customer"类型。

    • 类型有助于对不同类型的文档进行分类,但从Elasticsearch 7.0版本开始,多类型的支持已被弃用,一个索引只能包含一种类型的文档。

  3. 文档(Document)

    • 文档是Elasticsearch中的基本数据单元,类似于关系型数据库中的行。每个文档表示一条具体的数据记录。

    • 文档由一组字段(Fields)组成,每个字段存储特定的数据。字段可以是文本、数字、日期等各种类型。

    • 每个文档都有一个唯一的标识,称为文档ID。

关系:

  • 在一个索引内,您可以存储多个文档。

  • 文档可以有不同的字段,这些字段可以是各种数据类型,如字符串、数字、日期等。

  • 类型(Type)在较新的Elasticsearch版本中已被弃用,所以现在一个索引只包含一种类型的文档。

  • 索引为文档提供了逻辑容器,帮助您组织和存储数据,同时也定义了数据的分片和副本配置。

  • 每个文档都有一个唯一的文档ID,通过该ID可以准确地检索和更新文档。

总结:索引是数据的逻辑容器,文档是基本的数据单位,类型(现已弃用)曾用于在索引内部区分不同的数据结构。从Elasticsearch 7.0版本开始,推荐使用单一类型的索引结构来组织和存储文档。

  1. 分片(Shard)

    • 分片是将索引数据分割成更小的单元,以便分布式存储和处理数据。每个索引可以被分成多个分片。

    • 每个分片是一个独立的、自包含的数据单元,它包含了索引的部分数据以及相关的索引结构信息。

    • 分片允许Elasticsearch将数据分布到多个节点上,从而实现数据的并行处理和更高的吞吐量。

    • 默认情况下,每个索引包含5个主分片,您可以在创建索引时指定主分片的数量。

  2. 复制分片(Replica Shard)

    • 复制分片是每个主分片的副本,它用于提高系统的可靠性和读取性能。

    • 每个主分片可以有零个或多个复制分片。复制分片的数量决定了索引的冗余性和查询的并行性。

    • 复制分片分布在不同的节点上,当主分片或节点发生故障时,复制分片可以继续提供服务,确保数据的可用性。

    • 默认情况下,每个主分片有一个复制分片,总的数据副本数量(主分片+复制分片)为2。

关系:

  • 每个索引都被分成多个主分片,主分片可以分布在集群中的不同节点上,实现数据的分布式存储和并行处理。

  • 每个主分片可以有零个或多个复制分片,复制分片提供数据的冗余副本和更高的读取性能。

  • 主分片和其对应的复制分片构成了数据的多副本存储,确保了数据的高可用性和容错能力。

  • 分片和复制分片的数量共同决定了索引的性能、可靠性和吞吐量。适当的分片和复制策略是为了满足不同的应用场景需求。

总结:分片和复制分片是Elasticsearch中实现分布式存储、提高性能和可靠性的关键机制。分片将索引数据切分成小单元,实现并行处理,而复制分片提供数据的冗余和读取性能增强。它们共同构成了Elasticsearch集群的核心架构。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/38443.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

logstash 原理(含部署)

1、ES原理 原理 使⽤filebeat来上传⽇志数据,logstash进⾏⽇志收集与处理,elasticsearch作为⽇志存储与搜索引擎,最后使⽤kibana展现⽇志的可视化输出。所以不难发现,⽇志解析主要还 是logstash做的事情 从上图中可以看到&#x…

RDMA概述

1. DMA和RDMA概念 1.1 DMA DMA(直接内存访问)是一种能力,允许在计算机主板上的设备直接把数据发送到内存中去,数据搬运不需要CPU的参与。 传统内存访问需要通过CPU进行数据copy来移动数据,通过CPU将内存中的Buffer1移动到Buffer2中。DMA模…

【图像分类】理论篇 (4)图像增强opencv实现

随机旋转 随机旋转是一种图像增强技术,它通过将图像以随机角度进行旋转来增加数据的多样性,从而帮助改善模型的鲁棒性和泛化能力。这在训练深度学习模型时尤其有用,可以使模型更好地适应各种角度的输入。 原图像: 旋转后的图像&…

1.MySQL数据库的基本操作

数据库操作过程: 1.用户在客户端输入 SQL 2.客户端会把 SQL 通过网络发送给服务器 3.服务器执行这个 SQL,把结果返回给客户端 4.客户端收到结果,显示到界面上 数据库的操作 这里的数据库不是代表一个软件,而是代表一个数据集合。 显示当前的数据库 …

Python中的MetaPathFinder

MetaPathFinder 是 Python 导入系统中的一个关键组件,它与 sys.meta_path 列表紧密相关。sys.meta_path 是一个包含 MetaPathFinder 实例的列表,这些实例用于自定义模块的查找和加载逻辑。当使用 import 语句尝试导入一个模块时,Python 会遍历…

Golang通过alibabaCanal订阅MySQLbinlog

最近在做redis和MySQL的缓存一致性,一个方式是订阅MySQL的BinLog文件,我们使用阿里巴巴的Canal的中间件来做。 Canal是服务端和客户端两部分构成,我们需要先启动Canal的服务端,然后在Go程序里面连接Canal服务端,即可监…

Maven - 统一构建规范:Maven 插件管理最佳实践

文章目录 Available Plugins开源项目中的使用插件介绍maven-jar-pluginmaven-assembly-pluginmaven-shade-pluginShade 插件 - 标签artifactSetrelocationsfilters 完整配置 Available Plugins https://maven.apache.org/plugins/index.html Maven 是一个开源的软件构建工具&…

零食量贩店热潮:小县城的新零售革命

零食量贩店热潮:小县城的新零售革命 目录 引言零食量贩店的快速崛起零食量贩店的运营模式量贩零食店在小县城的影响技术在零食量贩店的应用未来展望结论 1. 引言 近年来,零食量贩店在我国小县城迅速发展,成为一种新型的零售模式。在一条街…

flutter 二进制转字符串

通常接口返回的数据都是二进制数据 二进制转字符串:utf8二进制转字符串 onRoomMsg.body是二进制编码 utf8.decode(onRoomMsg.body)然后字符串转对象 json.decode(utf8.decode(onRoomMsg.body))然后再用fromJson解析 PrankActivityModel prankActivityModel Prank…

新疆大学841软件工程考研

1.软件生产的发展经历了三个阶段,分别是____、程序系统时代和软件工程时代时代。 2.可行性研究从以下三个方面研究每种解决方法的可行性:经济可行性、社会可行性和_____。 3.HIPO图的H图用于描述软件的层次关系&…

Android 12.0 系统systemui下拉通知栏的通知布局相关源码分析

1.前言 在android12.0的系统rom开发中,在进行systemui中的下拉通知栏的布局自定义的时候,对于原生systemui的 系统的下拉通知栏的通知布局的了解也是非常重要的,接下来就来分析下相关的下拉通知栏的通知布局的相关 源码流程,了解这些才方便对通知栏的布局做修改 2.系统sy…

创建maven的Springboot项目出现错误:Cannot access alimaven

创建maven的Springboot项目出现错误:Cannot access alimaven 1)问题2) 分析问题3)解决问题 1)问题 创建maven的Springboot项目出现错误: Cannot access alimaven (http://maven.aliyun.com/nexus/content/groups/p…

“深入探索JVM内部机制:解密Java虚拟机的工作原理“

标题:深入探索JVM内部机制:解密Java虚拟机的工作原理 摘要:本文将深入探索Java虚拟机(JVM)的内部机制,解密其工作原理。我们将介绍JVM的基本组成部分、类加载过程、内存管理和垃圾回收、即时编译器等关键概…

Linux C++ 网络编程基础(2) : TCP多线程一个server对应多个client

目录 一、linux posix线程相关函数介绍二、tcp server基础版本三、tpc服务端多线程版本四、tpc客户端代码tcp编程时, 一个server可以对应多个client, server端用多线程可以实现. linux下多线程可以使用POSIX的线程函数, 下面给出服务端和客户端的代码. 一、linux posix线程相关…

RocketMQ 单机源码部署 自定义配置文件和端口以及acl权限配置解析

思路 1、我们首先配置完 namesrv和broker和acl认证的配置文件,然后直接使用-c指定配置文件来启动程序,就会非常明了,用户名密码要大于6,第一个用户我测试着不知道为什么始终有最高权限,大家尽量不要吧第一个用户给别人…

Redis辅助功能

一、Redis队列 1.1、订阅 subscribe ch1 ch2 1.2 publish:发布消息 publish channel message 1.3 unsubscribe: 退订 channel 1.4 模式匹配 psubscribe ch* 模糊发布&#xff0c;订阅&#xff0c;退订&#xff0c; p* <channelName> 1.5 发布订阅原理 订阅某个频道或…

05-基础入门-系统及数据库等

基础入门-系统及数据库等 一、操作系统层面1、识别操作系统常见方法2、简要两者区别及识别意义3、操作系统层面漏洞类型对应意义4、简要操作系统层面漏洞影响范围 二、数据库层面1、识别数据库类型常见方法2、数据库类型区别及识别意义3、数据库常见漏洞类型及攻击4、简要数据库…

word在页眉页脚添加第几页

如果直接在页脚添加数字&#xff0c;整个文档的页脚会是统一的。 这里我们需要的是每一页按照页码排布的文档&#xff0c;所以首先打开页脚设置&#xff1a; 在插入内选择页脚 在弹出的下拉窗口中选择空白即可 在菜单栏会多出“页眉和页脚”的选项卡&#xff0c;选择其中的页…

【CTFshow】——PWN签到题

文章目录 一【题目环境】二【题目类别】三【题目编号】四【题目描述】五【解题思路】六【解题过程】七【提交结果】 一【题目环境】 名称版本Ubuntu系统22.04.1 LTSLinux内核5.15.0-43-generic 二【题目类别】 此题无特殊类别&#xff0c;为入门题 三【题目编号】 PWN签到…

数字孪生:Three.js(WebGL)和虚拟引擎

一、先说总结 总的来说&#xff0c;选择Three.js和WebGL还是虚拟引擎&#xff0c;主要取决于你的项目需求和优先级。 如果你的数字孪生项目主要是为了Web展示&#xff0c;需要快速加载&#xff0c;且对3D效果和物理模拟的需求不高&#xff0c;那么Three.js是一个非常好的选择。…