es 多索引联合查询_Elasticsearch和MySQL查询原理分析与对比

本文分析了Elasticsearch(ES)如何通过分布式架构和倒排索引实现海量数据实时查询,对比了MySQL在处理大规模数据时的局限性,揭示了ES在查询性能上的优势。
摘要由CSDN通过智能技术生成

导语

ES 现在已经越来越火,很多公司会把 MySQL 里面的数据导入到 ES,用 ES 来做海量数据的实时查询。那为什么 MySQL 做不了海量数据的实时查询呢?为什么 ES 可以?本文将从原理上来回答这个问题。

基本分析

经过分析和对比,得出结论如下:

1、ES 天生分布式架构,天然支持海量数据的分片和查询,而 MySQL 不行;

2、MySQL 和 ES 底层索引结构导致即便是单片数据查询,ES 也更适合做查询引擎。

# 为什么 MySQL 做不了海量数据的实时查询?

MySQL 的架构就不是分布式的架构,就算基于一些开源组件或者自研组件做了分库分表,也只能解决数据的存储问题,解决不了问题的查询问题。

目前所有的分库分表中间件都会要求必须带上分库分表 id 去查询,也就是分库分表之后,你的查询,最终还是要落到某个库某张表去做单库单表的实时查询。

# ES 为什么能够做海量数据的实时查询?

ES 天生就是分布式架构,假如有一个学生表超过 10 亿条数据,导入 ES。首先第一件事情就是你要给这些数据做分片,假如分了 10 个片后,用户想基于 name 去查询,ES 是怎么做的?

这里我们假设是最简单的部署架构,ES 的节点 A 接收到查询请求后,会把请求转发到其他 datan

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值