问题:如果数据量特别大,如何优化ES的查询性能?

可以从以下几个方面进行思考:

  • File Cache可用的内存: ES的查询严重依赖OS的File Cache,所以说内存分配的内存肯定是越多越好。最理想的情况就是FileCache的内存大小和存储的数据的大小差不多。即使达不到这个标准,最少也需要达到存储的数据的一半。
  • ES中只存储必要的索引字段:比如每条记录有100个字段,业务上只需要根据其中的10个字段进行查询,这种情况下只需要在ES中存储着10个字段就OK。不要把所有的100个字段都存到ES中。这么做的好处就是占用内存空间小,可以把更多的数据放在内存中。否则的100个字段都会放到内存中,会占用太多的空间。一般来说可以采用ES+HBase(MongoDB)的模式来存储数据。也就是说把索引数据存储在ES中,先从ES中查到数据,构建记录的主键,然后根据主键去HBase(MongoDB)中根据主键去查其余的字段。
  • 数据预热:提前或者定时的把热数据进行预热。
  • 冷热数据分离:把冷热数据存储到不同的index中。并且部署到不同的物理机上。保证热点数据访问的性能。
  • ES数据模型的设计:对于一些比较复杂的关联查询,类似复杂SQL。ES的性能都不太好,所以可以在设计存入ES的数据模型的时候先做一部分工作,可以把关联关系直接放在数据模型中,这个通过ES就可以直接查询到。 也就是说把关联关系放在在业务代码中。
  • 禁止深分页查询:ES的深分页查询性能很差。最好不要用,用别的workaround。

es分页查询重复数据_ES优化 - 巨量数据如何提高查询性能相关推荐

  1. 优化巨量关键词的匹配(转载笔记)

    优化巨量关键词的匹配(转载笔记) 问题由来 前些天工作中遇到一个问题: 有 60万 条短消息记录日志,每条约 50 字,5万 关键词,长度 2-8 字,绝大部分为中文.要求将这 60万 条记录中包含的 ...

  2. HBase快速导入巨量数据—— Bulk Loading

    优点: 如果我们一次性入库hbase巨量数据,处理速度慢不说,还特别占用Region资源, 一个比较高效便捷的方法就是使用 "Bulk Loading"方法,即HBase提供的HF ...

  3. LESSON 9.5 随机森林在巨量数据上的增量学习

    五 随机森林在巨量数据上的增量学习 集成学习是工业领域中应用最广泛的机器学习算法.实际工业环境下的数据量往往十分巨大,一个训练好的集成算法的复杂程度与训练数据量高度相关,因此企业在应用机器学习时通常会 ...

  4. 数据图表与分析图_堆积图表界的翘楚!河流图如何搞定“巨量”数据

    继旭日图.漏斗图.饼图之后,我们又迎来一个 "象形"图表--河流图.虽然河流图是从堆积面积图演变而来,读图的原理也相同,但是在面对较大体量的数据时,河流图还是略胜一筹! 从折线图到 ...

  5. Lesson 9.4 随机森林在巨量数据上的增量学习和 Bagging 方法 6 大面试热点问题

    文章目录 一.随机森林在巨量数据上的增量学习 1. 普通学习 vs 增量学习 1.1 普通学习 2. 增量学习 2. 增量学习在 Kaggle 数据上的应用 2.1 实际应用 二.Bagging 方法 ...

  6. vue渲染大量数据如何优化_大数据量场景下的Vue性能优化

    性能优化最常见的落脚点是在网络和dom上,但是在大数据量的场景下,由于Vue本身的特性,可能会造成js运行层面的性能问题,这篇文章讨论的就是针对这一部分的性能优化方案. 模拟一个大数据量的场景 // ...

  7. 深度学习核心技术精讲100篇(十八)-巨量数据下美团是如何实现数据治理的?

    背景 大数据时代的到来,让越来越多的企业看到了数据资产的价值.将数据视为企业的重要资产,已经成为业界的一种共识,企业也在快速探索应用场景和商业模式,并开始建设技术平台. 但这里要特别强调一下,如果在大 ...

  8. 查询重复(重名)小组,科室,查询重复并且删除

    新人实用型数据修改sql语句,收藏准没错!! 根据名字分组,并且统计数量大于1的科室,小组 select name,count(1) from user_structure us where us.` ...

  9. vue渲染大量数据如何优化_加速vue组件渲染之性能优化

    背景 平时在用vue开发后台管理系统的时候,应该会用到大量的table这种组件,正常这种组件我们会在项目里做二次封装,然后针对表头title做参数化配置,如下: export default { da ...

最新文章

  1. ospf的四种网络类型
  2. 使用curl从HTTP POST仅获取响应标头
  3. hibernate建表 一对多 多的一方控制一的一方
  4. MySQL 查询统计 日期查询
  5. 基于迭代次数和分类准确率的两种排序
  6. LeetCode 169.求众数
  7. C语言实现顺序栈心得
  8. 智慧城市免费WiFi覆盖怎么实施?武邑开启智慧生活模式
  9. box-shadow阴影合集
  10. [Markdown语法][快速入门][CSDN]
  11. 计算机创新课,计算机教学课程模式与创新论文
  12. MySQL定义数据库对象之指定definer
  13. vSAN其实很简单-vSAN禁得起折腾的吗?
  14. numpy与matplotlib的学习报告
  15. python 面试题之 生成器
  16. Study 3 —— Python运算符
  17. python学习手册四版中文_Python学习手册(第4版) 中文版.pdf 全文免费
  18. 服务器2012怎么安装无线网卡驱动,如何安装usb无线网卡驱动,教您如何安装电脑usb驱动...
  19. 如何做到在子线程更新 UI?
  20. DVWA-Writeup

热门文章

  1. GOOGLE的摄像头漏洞
  2. 模块A:大数据平台搭建(容器环境)
  3. 安卓学习笔记34:默默工作的服务
  4. 2017.3.3 拔河比赛 思考记录
  5. Intel 64/x86_64/x86/IA-32处理器的指令指针(IP/EIP/RIP)
  6. Pentium 4处理器架构/微架构/流水线 (3) - NetBurst微架构
  7. 数论只会 for 循环 (数学+分块+记忆化)
  8. Java集合总结大全--史上最强
  9. 通过图片 找到桌面相同图片区域坐标_非常萌的桌面工具-bongo cat mver0.1.6
  10. python语法类似于php_通过PHP与Python代码对比浅析语法差异