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.rhkb.cn/news/97309.html

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

相关文章

HTML详解连载(8)

HTML详解连载(8) 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽浮动-产品区域布局场景 解决方法清除浮动方法一:额外标签发方法二:单伪元素法方法三:双伪元素法方法四:overflow浮动-总结…

GO学习之 数据库(mysql)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…

【C++】stack/queue/优先级队列的模拟实现

目录 1. stack/queue1.1 模拟实现 2. 优先级队列2.1 模拟实现2.2 仿函数 1. stack/queue stack文档说明 queue文档说明 stack和queue被称为容器适配器。 容器适配器是什么? 它是一种特殊的容器类型,通过封装已有的容器类型来提供特定功能的接口函数&a…

使用Nginx调用网关,然后网关调用其他微服务

问题前提:目前我的项目是已经搭建了网关根据访问路径路由到微服务,然后现在我使用了Nginx将静态资源都放在了Nginx中,然后我后端定义了一个接口访问一个html页面,但是html页面要用到静态资源,这个静态资源在我的后端是…

关于es中索引,倒排索引的理解

下面是我查询进行理解的东西 也就是说我们ES中的索引就相当于我们mysql中的数据库表,索引库就相当于我们的数据库,我们按照mapping规则会根据相应的字段(index为true默认)来创建倒排索引,这个倒排索引就相当于我们索引…

QT-Mysql数据库图形化接口

QT sql mysqloper.h qsqlrelationaltablemodelview.h /************************************************************************* 接口描述:Mysql数据库图形化接口 拟制: 接口版本:V1.0 时间:20230727 说明:支…

【ARM Linux 系统稳定性分析入门及渐进12 -- GDB内存查看命令 “x“(examine)】

文章目录 gdb 内存查看命令 examine 上篇文章:ARM Linux 系统稳定性分析入门及渐进11 – GDB( print 和 p 的使用| 和 ::的使用|ptype|{<type>} <addr> ) gdb 内存查看命令 examine examine是…

【数据结构】如何用队列实现栈?图文详解(LeetCode)

LeetCode链接:225. 用队列实现栈 - 力扣(LeetCode) 本文默认读者已经掌握栈与队列的基本知识 或者先看我的另一篇博客:【数据结构】栈与队列_字节连结的博客-CSDN博客 做题思路 由于我们使用的是C语言,不能直接使用队…

​Kubernetes的演变:从etcd到分布式SQL的过渡

DevRel领域专家Denis Magda表示,他偶然发现了一篇解释如何用PostgreSQL无缝替换etcd的文章。该文章指出,Kine项目作为外部etcd端点,可以将Kubernetes etcd请求转换为底层关系数据库的SQL查询。 受到这种方法的启发,Magda决定进一步…

react-native-webview RN和html双向通信

rn登录后得到的token需要传递给网页,js获取到的浏览器信息需要传递给rn RN Index.js: import React from react import { WebView } from react-native-webview import useList from ./useListexport default function Index(props) {const { uri, jsCode, webVie…

【MySQL系列】--初识数据库

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

在ubuntu中将dict.txt导入到数据库sqlite3

将dict.txt导入到数据库 #include <head.h> #include <sqlite3.h> int do_insert(int i,char *str,sqlite3 *db); int main(int argc, const char *argv[]) {//创建泵打开一个数据库sqlite3 *db NULL;if(sqlite3_open("./my.db",&db) ! SQLITE_OK){…

使用IDM下载视频出现“由于法律原因,IDM无法下载...

一、问题描述 由于法律原因,IDM无法下载..,如图: 二、原因分析 下载该IDM抓取的M3U8文件,查看其中的内容发现 : #EXT-X-KEY 字段已经写明了加密方式是AES-128,包含一个URI和IV值 #EXTM3U #EXT-X-VERSION:3 #EXT-X-TARGETDURATION:8 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-KEY:…

Cpp学习——list的模拟实现

目录 一&#xff0c;实现list所需要包含的三个类 二&#xff0c;三个类的实现 1.list_node 2.list类 3.iterator_list类 三&#xff0c;功能实现 1.list类里的push_back() 2.iterator类里的运算符重载 3&#xff0c;list类里面的功能函数 1.insert&#xff08;&#xff…

2023国赛数学建模思路 - 案例:FPTree-频繁模式树算法

文章目录 算法介绍FP树表示法构建FP树实现代码 建模资料 ## 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法&#xff0c;就是频繁模式树算法&#xff0c…

Linux常用命令——dig命令

在线Linux命令查询工具 dig 域名查询工具 补充说明 dig命令是常用的域名查询工具&#xff0c;可以用来测试域名系统工作是否正常。 语法 dig(选项)(参数)选项 <服务器地址>&#xff1a;指定进行域名解析的域名服务器&#xff1b; -b<ip地址>&#xff1a;当主…

Log4net在.Net Winform项目中的使用

引言&#xff1a; Log4net是一个流行的日志记录工具&#xff0c;可以帮助开发人员在应用程序中实现高效的日志记录。本文将提供一个详细的分步骤示例&#xff0c;来帮助您在.Net Winform项目中使用Log4net。 目录 一、安装Log4net二、配置Log4net三、在项目中使用Log4net四、初…

深入探索:Kali Linux 网络安全之旅

目录 前言 访问官方网站 导航到下载页面 启动后界面操作 前言 "Kali" 可能指的是 Kali Linux&#xff0c;它是一种基于 Debian 的 Linux 发行版&#xff0c;专门用于渗透测试、网络安全评估、数字取证和相关的安全任务。Kali Linux 旨在提供一系列用于测试网络和…

uniapp的uview-plus组件库的导入

uniapp的vue3中使用uview-plus组件库。在插件市场中找到该组件并点击如下所示绿色按钮&#xff0c;弹出弹窗选择要导入的项目后&#xff0c;就会在uni_modules文件中生成如下文件内容 关于插件的下载区别&#xff0c;可参考&#xff1a;https://uniapp.dcloud.net.cn/compone…