es(Elasticsearch)介绍

学习es可以参考mysql(相比mysql而言,es所需的cpu、内存更多)

什么是Elasticsearch

Elasticsearch简称es,是由Elastic和search组成。Elastic的意思是有弹性的,search的意思是搜索。

弹性:es是一个天生支持分布式,不需要借助zk等其他的三方组件就能实现的分布式,理论上讲可以无限进行扩容

搜索: es是一个搜索引擎。(和mysql的搜索区分开)。es是一个由java开发的,借助qpi提供服务

mysql是关系型数据库,每个表中的一些字段都有关联,数据库三大范式。所以mysql更适合做业务相关的关联查询。而es是非关系型数据库,更擅长做搜索

es的擅长和不擅长

es擅长从海量数据中检索少量相关数据,你不擅长单次查询大量数据。es同样也不擅长事务。最起码大于2000万才用es(mysql官方表面mysql的瓶颈为2000万条数据)

es适合做大数据处理

es的实时性

es是一个olap系统。,侧重于海量数据的检索,而写入实时性并不是很高。默认是1秒。es在存数据时,并不会马上就写入磁盘,而是先放在buffer维冲区, es并不是忽路了这个性能,而是有意为之。原因就是es是一个搜索引擎,写入的实时性和大数据的检索性能是一个二选一的行为,实际上我们有很多时候,都是通过牺牲写入实时性来换取性能。(牺牲空间来换取时间)

es有多快

在官方文档里描述,1PB的数据,秒级相应。1PB=1024TB=1024*1024GB

什么时候适合用es

当数据量足够大,比如说淘宝有上亿的商品,为了保证搜索性能。淘宝订单:淘宝一年的订单量,也是上百亿

es是一个基于文档的搜索引擎。模糊搜索可以搜出来且搜的多的结果排序自动提高优先级,下次查询的时候优先显示

es还适合存一些日志信息、操作日志、聊天弹幕、评论、订单、商品等只要生成就不变的

es常用概念

索引:可以简单理解为mysql中的表

文档:可以简单理解为表里的一行数据(es会搜索出来几个文档)

es索引创建的时候就是把所有的想要查询的信息都放到一个索引里面(es从8.2.0开始建议都所有字段用String)

相关推荐
●VON6 小时前
鸿蒙Flutter实战:分类管理页BottomSheet CRUD
数据库·flutter·华为·harmonyos·鸿蒙
Cosolar6 小时前
Chroma向量库面试学习指南
数据库·人工智能·面试·职场和发展·数据库架构
狒狒热知识6 小时前
AI赋能下企业新闻内容优化178软文网赋能权威资讯形成持续积累效应
大数据
盘古信息IMS7 小时前
盘古信息IMS V6 8.0重磅发布:以薪火AI数智平台点燃离散制造数智化引擎
大数据·人工智能·制造
企服AI产品测评局8 小时前
Agent适配信创环境实测:企业级自动化如何实现国产操作系统与数据库全兼容?
运维·数据库·人工智能·ai·chatgpt·自动化
cfm_29148 小时前
Redis数据安全性解析
数据库·redis·缓存
DIY源码阁8 小时前
JavaSwing学生成绩管理系统 - MySQL版
java·数据库·mysql·eclipse
论文小助手W6858 小时前
【ACM出版,EI检索】2026年人工智能与智慧城市国际学术会议(IC-AISC 2026)
大数据·人工智能·全文检索·智慧城市·交通物流
盖小雅9 小时前
自动化排班如何破解劳动法合规难题:从规则冲突到可追溯的排班表
大数据·运维·机器学习·自动化
Bechamz9 小时前
大数据开发学习Day43
大数据·学习