2024.1.17 用户画像day02 - Elastic Search

目录

ES和数据库的类比

ELK集中日志协议栈介绍

ES的介绍

ES的架构

ES中的名词

ES中的角色

分片与副本的区别在于:

MYSQL分库与分表:

 倒排序索引:

ES写入数据原理:

ES读取、检索数据原理:


重点: ES 的架构   , ES读写的原理

ES和数据库的类比

关系型数据库非关系型数据库
数据库Database索引Index
表Table类型Type
数据行Row文档Document
数据列Column

字段Field

约束Schema映射Mapping

ELK集中日志协议栈介绍

ELK是Elasticserarch、Logstash 、Kibana三个开源项目的首字母缩写

        Elasticsearch:主要是用于做全文检索 , 功能是数据的存储和查询

        Logstash: 主要是用于进行数据的传递采集工作,将数据搬运到另一个地方。

        Kibana:用于图表展示,类似BI。

ES的介绍

Elasticsearch是一个分布式的全文搜索引擎,具有高性能、可扩展性和数据可靠性等特点。

它使用Lucene作为底层引擎,支持快速地存储、搜索和分析大量的数据。

ES的架构

ES具备两套主从结构:节点主从(Master和DataNode)分片主从(PrimaryShard和ReplicaShard)

 

ES中的名词

index: 索引库,一个es下可以有多个索引库。

setting: 主要对索引库和副本的设置,默认有5分片 和 2副本。

type: 在一个索引库下,可以有多个类型,类似数据库中可以有多个表。

                注意: 目前新的版本中, 已经只允许创建一个type(_doc)

filed:字段,从一个type下可以有多个字段,类似表中的列。

mapping: 映射关系,主要是对字段进行相关的设置。

docment:文档,表示每一行的数据。

cluster: es的集群。

node: es中的节点。

shard: 分片,一个索引库中有5个。

replcas: 副本 默认每一个分片 都有一个副本,加上本身就是2个。

        Index索引创建完成以后,可以任意时间动态修改副本的数量;但是不能修改分片的数量
            如果后续数量增大了,分片数量不够了如何解决?
    1- 先创建一个具有更多分片的新Index索引库
    2- 后续的新数据写入到这个新的Index索引库
    3- 旧的Index索引库数据导入到新的Index索引库

ES中的角色

Master: 主节点
    作用:  
        负责管理从节点, 负责从节点的监控状态监控
        负责接收客户端的请求, 负责将请求转发给datanode处理
        维护元数据信息: 索引 索引类型 属性 属性类型 分词器 分片 副本等
    注意:
        1- 集群架构可以分成分布式和单机版。单机版的时候,该节点既是主节点也是从节点
        2- 当是分布式的时候,主节点是一个轻量级的节点,尽可能不会去存储数据,即使存储也只存放从副本,只负责数据的读

DataNode: 从节点
    作用:
        负责具体处理客户端请求操作的节点, CURD(插入数据、更新数据、删除数据)索引数据
        当数据有分片和副本的情况, 写入数据到从节点时, 负责把数据同步到其他的节点
    注意: 数据写入请求,会被发送到从节点,先写入到从节点中的主副本,再从主副本同步到其他从副本。也就是从节点上可能有主副本,也可能有从副本。

分片与副本的区别在于:

        当分片设置为5,数据量为30时,ES就会自动帮用户把数据均衡的分配到5个分片上,每个分片大概有6g数据\

当你查询数据时,ES会把查询发送给每个相关的分片,并将结果组合在一起。

        而副本,就是对分布在5个分片的数据进行复制。因为分片是把数据进行分割而已,数据依然只有一份\

这样的目的是保障数据的高可靠性,完整性.

MYSQL分库与分表:

分库分表就是为了解决由于数据量过大而导致数据库性能降低的问题,将原来独立的数据库拆分成若干数据库组成 ,将数据大表拆分成若干数据表组成,使得单一数据库、单一数据表的数据量变小,从而达到提升数据库性能的目的。分库分表包括分库和分表两个部分,在生产中通常包括:垂直分库、水平分库、垂直分表、水平分表四种方式。(大库拆成小库,大表拆成小表)

 倒排序索引:

全文检索就是通过词找到索引,查询到文本内容;

倒排索引就是根据单词快速获取包含这个单词的文档列表。

1- 当用户输入关键字后,将关键字分词。

2- 构建索引库,第一列是分词后的具体的词语,第二列是词语的ID列表。

3- 到索引库中根据分词后的数据,寻找相关列表信息,然后找到对应的内容。

ES写入数据原理:

1- 客户端进行数据写入操作,随机连接一台节点,连接的那台就会成为coordinating node协调者,并且也是该请求的管理者。

2- 协调节点计算当前写入的数据要存储到哪个分片的主副本上,底层是基于文档ID的哈希取模方案。

3- 计算完成后,找到分片的主副本,如果就在当前节点那么就直接写入、

        如果不在当前节点,就将请求转发给到对应的分片主副本所在的节点。

4- 对应节点的主副本接收到请求后,执行写入操作,写入成功后将数据同步到其他副本中。

        (注:写入的操作只有主副本拥有,从副本只有读取功能,这样的作用是为了避免数据混乱)

5- 当主副本和从副本都对数据同步完成后,最终将写入成功的请求由协调节点返回给客户端。

ES读取、检索数据原理:

1- client发起查询请求,连接到任意一台ES节点上,谁被连上谁就成为协调者,并成为此次请求的管理者。

2- 查询的方案:

        2.1- 如果是基于文档ID查询,此时会计算当前这个ID的数据存放在哪个分片上,接着将请求转发给对应的分片的副本.

        2.2- 如果不是基于文档ID查询,例如通过文本内容关键字查询,此时需要将查询请求广播给所有的节点,由各个节点查询自己服务器上的数据,并且将查询到的结果汇聚到协调节点.

3- 由协调节点负责汇总数据,并且对数据进行排序操作,是全局降序排序.

4- 最后将结果返回给客户端.

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

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

相关文章

C++发展史

目录 什么是C C的发展史 C的重要性 C在实际工作中的应用 “21天教你学会C” 什么是C 先看看祖师爷,记得多拜拜🤭 C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的 程序,需要高度…

Vue3 + Electron框架读取程序外部配置文件

网上找了一堆都不行,根据这个步骤来肯定能用 1. 在项目下新建一个config.json文件 2. json文件中写入一些配置 3. vue.config.js中配置打包时把config.json文件copy到应用目录下 pluginOptions:{electronBuilder:{nodeIntegration:true,builderOptions: {extraReso…

MySQL表的基本插入查询操作详解

博学而笃志,切问而近思 文章目录 插入插入更新 替换查询全列查询指定列查询查询字段为表达式查询结果指定别名查询结果去重 WHERE 条件基本比较逻辑运算符使用LIKE进行模糊匹配使用IN进行多个值匹配 排序筛选分页结果更新数据删除数据截断表聚合函数COUNTSUMAVGMAXM…

怎样实现安全便捷的网间数据安全交换?

数据安全交换是指在数据传输过程中采取一系列措施来保护数据的完整性、机密性和可用性。网间数据安全交换,则是需要进行跨网络、跨网段甚至跨组织地进行数据交互,对于数据的传输要求会更高。 大部分企业都是通过网闸、DMZ区、VLAN、双网云桌面等方式实现…

2024美赛数学建模思路 - 案例:ID3-决策树分类算法

文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模…

redis数据安全(一)数据持久化

一、Redis数据安全措施: 1、将数据持久化至硬盘 2、将数据复制至其他机器; 复制是在数据持久化的基础上进行的。 二、将数据持久化至硬盘 1、介绍:Redis是一个基于内存的数据库,它的数据是存放在内存中,内存有个问题就是关闭…

Python中使用HTTP代理进行网络请求

在Python中,HTTP代理是一种常用的技术,用于控制和修改HTTP请求和响应。通过使用HTTP代理,我们可以更好地控制网络请求的行为,提高安全性、隐私性和效率。下面我们将详细介绍如何在Python中使用HTTP代理进行网络请求。 一、HTTP代…

风丘科技为您提供完整的ADAS测试方案

一 方案概述 随着5G通讯与互联网的快速发展,智能汽车和ADAS辅助系统的研究与发展在世界范围内也在如火如荼地进行。风丘科技紧跟时代脚步,经多年积累沉淀,携手整车厂与高校共同研发打造出了一套完整且适用于国内ADAS测试的系统方案。 | ADAS…

sql中的explain关键字用法

在SQL中,使用EXPLAIN关键字可以获取查询的执行计划,以便进行性能优化和查询调优。执行计划提供了关于查询操作的详细信息,涵盖了多个表头字段,每个字段都提供了特定的信息。以下是explain表头字段解释: id&#xff1…

工厂企业消防安全AI可视化视频智能监管解决方案

一、方案背景 2023年11月20日下午6时30分许,位于江苏省无锡市惠山区前洲街道的某公司突发严重火灾,共造成7人死亡。这次火灾提醒我们工业安全至关重要,企业都应该时刻保持警惕,加强安全意识和培训,提高应对突发事件的…

vue实现 marquee(走马灯)

样式 代码 <div class"marquee-prompt"><div class"list-prompt" refboxPrompt><span v-for"item in listPrompt" :title"item" class"prompt">{{item}}</span></div> </div>data() {…

【分布式监控】zabbix与grafana连接

1.在zabbix- server服务端安装grafana&#xff0c;并启动服务 先在官网下载软件 https://grafana.com/grafana/download/9.4.7?editionenterprise&pggraf&plcmtdeploy-box-1#可以翻译成中文介绍&#xff0c;很详细的教程 yum install -y https://dl.grafana.com/ent…

PDF转PowerPoint - Java实现方法

通过编程实现PDF转PPT的功能&#xff0c;可以自动化转换过程&#xff0c;减少手动操作的工作量&#xff0c;并根据需要进行批量转换。将PDF文件转换为PPT文档后&#xff0c;可以利用PPT的丰富功能和动画效果&#xff0c;达到更好的演示效果。 在Java中&#xff0c;我们可以使用…

100天精通鸿蒙从入门到跳槽——第5天:TypeScript 知识储备:函数

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…

群晖NAS搭建WebDav结合内网穿透实现公网访问本地影视资源

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

酒类销售新模式:让用户成为你的“免费“推销员!

随着市场的不断变化&#xff0c;传统的销售模式已经无法满足消费者的需求。如何创新商业模式&#xff0c;提高销售量&#xff0c;成为了酒类企业面临的重要问题。最近&#xff0c;一种新型的酒类销售模式悄然兴起&#xff0c;该模式以"利己"和"利他"为核心…

用sdkman在linux上管理多个java版本

概述&#xff1a; SDKMAN 是一个用于管理软件开发工具的工具&#xff0c;允许您轻松地安装、升级和切换不同版本的 JDK、Maven、Gradle 等工具。以下是在 Linux 上安装 SDKMAN! 的基本步骤&#xff1a; 安装SdkMan 使用 curl 安装 SDKMAN!: 打开终端&#xff0c;并运行以下命…

axios的原理及源码解析

面试官&#xff1a;你了解axios的原理吗&#xff1f;有看过它的源码吗&#xff1f; 一、axios的使用 关于axios的基本使用&#xff0c;上篇文章已经有所涉及&#xff0c;这里再稍微回顾下&#xff1a; 发送请求 import axios from axios;axios(config) // 直接传入配置 axio…

web3.0基本概念简析

web3.0概念简析 web3.0的发展史 web1.0 仅用于展示&#xff0c;无法进行点赞评论等交互 web2.0 不仅可以展示&#xff0c;还可以上传视频、图片等&#xff0c;用户可以参与创作内容并获取收益。但还是中心化的模型 缺点 1 机械化的人机验证 2 账户安全无法保证 多年未登陆…

Elasticsearch8 集群搭建(二)配置篇:(1)节点和集群配置

安装完Elasticsearch后&#xff0c;需要对其进行配置&#xff0c;包括以下几部分&#xff1a;节点和集群配置、系统配置、安全配置。 此篇记录节点和集群配置的内容&#xff0c;后续将更新系统配置和安全配置。 节点和集群配置&#xff1a; 通过编辑/usr/local/elasticsearc…