elasticsearch系列(一)

简介: elasticsearch系列(一)

以一个30个节点的集群为例,介绍一下ES的核心概念

ES分布式的好处

ES支持集群模式,是一个分布式系统,es集群是由多个实例组成的,一个节点叫做Node

其好处有两个:

①、方便扩展,增大系统容量:如内存,磁盘,使得es集群可以支持pb级的数据,高并发的优势

②、提高系统可用性:即使部分节点停止服务,整个集群依然可以正常服务,高可用的优势

ES的特点之一:分布式的文档存储,多节点,多分片

1、不是使用数据库的行存储,类似JSON文档的复杂数据结构,可以说成是nosql数据库,文档存储后,将在1s钟内默认刷新频率为1s几乎实时地对其进行索引和完成搜索,存进去到搜索1s。

2、Kibana是一个针对ES的开源分析以及可视化平台,用来搜索,查看交互存储在es索引中的数据,使用Kibana,可以通过各种图表进行高级数据的分析与展示

ES和mysql做对比:

1、mysql当中的数据库实例对应es中的索引,es索引中的type代表着数据库Mysql的表,只不过es把一个索引固定一个type,

2、在Mysql当中每个表都有表结构对应着es的映射mapping。在mysql当中每行数据,对应着es的每个文档documents,输入的时候默认是json文档对比mysql中的行。

3、在mysql当中有很多个列对应着es当中是很多个字段field,每个document有很多个字段,只不过底层的 数据结构存储的完全不一样。

问题:doc->index(type) 类同于row ->table吗

答案是:doc -》index之间,还有一个分片的概念,大的索引以很小的单位维护起来的。

比如:维护着1T的index,这个index对应mysql是表,放在一个节点的话:1个T的话硬盘是够的,但是内存一点不够的,放在一个节点是不现实的

大概是1个亿的文档。节点数是30个,平均的情况下是30个

index在每个节点就是一个shard,每个shard大概30G左右。

假设一个分片只有一份,会弄几个副本,大概一个副本,副本在不同的节点上。保证高可用,第一个副本可能在第二个节点来  保证高可用。故障转移的效果

7d948062460ada125c72b9b7b6667cb0.png

副本的重要性:

①、在分片/节点失败的情况下,副本提供了高可用性,复制分片不与原/主要分片置于同一节点是非常重要的。

②、提升搜索的吞吐量,因为搜索可以在所有的副本上并行运行,副本可以扩展你的搜索量/吞吐量,写的时候往正本写

b20fa10ac6df65530ef2cd5bf71c4911.png

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
SQL 关系型数据库 MySQL
解决MySQL主从慢同步问题的常见的解决方案:
解决MySQL主从慢同步问题的方法有很多,以下是一些常见的解决方案: 1. 检查网络连接:确保主从服务器之间的网络连接稳定,避免网络延迟或丢包导致数据同步缓慢。 2. 优化数据库配置:调整MySQL的配置参数,如增大binlog文件大小、调整innodb_flush_log_at_trx_commit等参数,以提高主从同步性能。 3. 检查IO线程和SQL线程状态:通过SHOW SLAVE STATUS命令检查IO线程和SQL线程的状态,确保它们正常运行并没有出现错误。 4. 检查主从日志位置:确认主从服务器的binlog文件和位置是否正确,避免由于错误的日志位置导致同步延迟。 5.
2035 1
|
Java 测试技术 数据库
如何做SpringBoot单元测试?
如何做SpringBoot单元测试?
|
存储 缓存 NoSQL
Redis点赞业务的设计与实现(Redis键值设计)
案例分享Redis点赞业务实现!
2045 2
Redis点赞业务的设计与实现(Redis键值设计)
|
6月前
|
机器学习/深度学习 人工智能 搜索推荐
坐姿标准好坏姿态数据集分享(适用于YOLO系列深度学习分类检测任务)
本数据集含标准/非标准坐姿图像,涵盖驼背、倾斜、跷腿等典型错误姿态,已科学划分为train/val/test集,提供YOLO与COCO双格式标注(类别+关键点+边界框),适用于YOLO系列模型训练,助力智慧教育、办公健康、驾驶安全等AI应用。(239字)
556 2
|
6月前
|
运维 JavaScript Java
如何开发一套患者随访管理系统?附现成源码方案
本文提供患者随访管理系统从规划到落地的全流程指南:涵盖需求调研、架构选型(单体/微服务)、核心功能开发(MVP→扩展→集成)、数据安全合规(等保、HIPAA)、测试部署运维,并推荐基于Spring Boot+Vue的现成源码方案,助医院高效落地。
406 5
|
7月前
|
存储 JavaScript Java
阿里云99元服务器:2核2G3M带宽,续费同价,购买和使用场景主要问题解答
阿里云99元云服务器,配置为经济型e实例2核2G3M带宽40G ESSD Entry云盘,凭借超低价格和续费同价的优惠,成为个人开发者、初创企业和学生的热门之选。该服务器不仅配置满足基础需求,如个人博客、小型网站等,还提供了长达三年的价格保障。用户在购买时需注意限购政策,确保资格匹配,并根据需求选择合适的地域。
|
8月前
|
机器学习/深度学习 数据采集 监控
基于深度学习的婴儿哭声识别 | 从数据预处理到模型训练全流程实战【附源码+数据集】
本文详解婴儿哭声识别全流程:基于Cry Sense数据集,涵盖音频格式转换、采样率统一(16kHz)、数据增强(时域/频域)、梅尔频谱/MFCC特征提取及数据集划分。附完整源码与数据集,助力构建智能监护系统。
基于深度学习的婴儿哭声识别 | 从数据预处理到模型训练全流程实战【附源码+数据集】
|
存储 安全 Linux
从零开始学习DPDK:掌握这些常用库函数就够了(上)
从零开始学习DPDK:掌握这些常用库函数就够了
|
机器学习/深度学习 数据采集 存储
算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
**摘要:** 这篇文章介绍了决策树作为一种机器学习算法,用于分类和回归问题,通过一系列特征测试将复杂决策过程简化。文章详细阐述了决策树的定义、构建方法、剪枝优化技术,以及优缺点。接着,文章讨论了集成学习,包括Bagging、Boosting和随机森林等方法,解释了它们的工作原理、优缺点以及如何通过结合多个模型提高性能和泛化能力。文中特别提到了随机森林和GBDT(XGBoost)作为集成方法的实例,强调了它们在处理复杂数据和防止过拟合方面的优势。最后,文章提供了选择集成学习算法的指南,考虑了数据特性、模型性能、计算资源和过拟合风险等因素。
1040 0
算法金 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost 算法大全
|
存储 安全 数据管理
这个“2-3”的数据分类分级方法也许对你很有价值
当前,数据成为企业的生产要素参与分配,数据价值越发显得重要。
这个“2-3”的数据分类分级方法也许对你很有价值