亿级以上的数据量 ES如何优化

这篇具有很好参考价值的文章主要介绍了亿级以上的数据量 ES如何优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 增大fileSystem cache容量

	fileSystem cache存的是最近搜索过、然后缓存下来的索引文档数据,会存放在堆内存外的 系统缓存里
	给es服务器多分配内存,增大此缓存的容量,即可增加查询性能

2 es只负责存储核心关键数据

	通过es查询出关键数据以后,再通过mysql/Hbase去查询其他相关数据
		建议 ES+Hbase
	   最佳实践,某个节点的内存=  节点上文档总大小的一半
		若文档数据远远大于内存,性能肯定不行,所以只存储海量数据里的关键字段
		否则和  mysql没啥区别,缓存空间太小,热数据被频繁刷掉,每次都是io查询磁盘

3 冷热分离

	热数据放到索引a里,冷数据放到索引b里
	尽量把两种索引分开存放,热数据和冷数据分别在不同节点上
	
	以业务类型区分冷热数据
	以时间区分冷热数据
	   (定时任务 把n天前的数据 转移到冷节点里,在热节点里删除,在冷节点里新增)

4 数据预热

	自己搞个脚本/定时任务/系统
	专门去搜搜热数据
		把热数据文档缓存到内存里
			其他用户访问时就不用走io了

5 业务

	a 避免深度分页,深度分页可能会导致 查询从 级ms 变成几s
		,改设计,下拉方式刷新
			技术实现
					1 scroll api
					2 es自身的search_after 也支持这种优化方式
			这也是为什么很多网站都不允许翻页的原因
	b 避免大结果集查询
	c 避免复杂查询如 join/nested/parent-child文档关联、集合嵌套、父子文档嵌套

6 文档结构设计

	把相关数据关联处理以后,再存入es

es数据量大解决方案,elasticsearch,数据库,大数据文章来源地址https://www.toymoban.com/news/detail-516635.html

到了这里,关于亿级以上的数据量 ES如何优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里二面:千万级、亿级数据,如何性能优化? 教科书级 答案来了

    在尼恩指导了几百个小伙伴的面试,在这些过程中, 非常、非常高频的一个面试题: 千万级数据,如何做性能优化? 亿级数据,如何做性能优化? 最近,有个小伙伴阿里二面,又遇到了这个问题。 其实,尼恩一直想梳理一个教科书式的答案, 但是由于千万级数据、亿级数

    2024年02月02日
    浏览(37)
  • ES6及以上新特性

    ES6(ECMAScript 2015)及以上版本引入了许多新特性,每个版本都有不同的增强和改进。以下是 ES6 及以上版本的新特性的详细描述: ES6(ECMAScript 2015): let 和 const 声明:引入块级作用域的变量声明,用于替代 var 声明,解决了变量提升的问题。 箭头函数:用 “=” 符号定义函

    2024年02月14日
    浏览(29)
  • es解决只能默认查询10000条数据方案

    在使用es进行数据查询时,由于es官方默认限制了索引一次性最多只能查询10000条数据,这其实是es的一种保护机制,那么很多时候我们需要突破这种限制,例如需要进入数据同步的场景,则需要查询全部的数据,如何处理呢? 方案1:在设置索引属性时解除索引最大查询数的限

    2024年02月11日
    浏览(31)
  • ES查询时只能查询10000条数据解决方案

    方法1: 在restful请求时,解除索引最大查询数的限制 _all表示所有索引,如果针对单个索引的话修改成索引名称即可!!! 此时变可以查询300万条数据了,数据量太大可能存在超时问题,查询数据时加上超时参数。  方法2: 在创建索引的时候加上 方法3:         在查询时

    2024年02月11日
    浏览(34)
  • MySQL数据同步到ES的4种解决方案

    大家应该都在各种电商网站检索过商品,检索商品一般都是通过什么实现呢?搜索引擎Elasticsearch。那么问题来了,商品上架,数据一般写入到MySQL的数据库中,那么用于检索的数据又是怎么同步到Elasticsearch的呢? MySQL同步ES 这是能想到的最直接的方式,在写入MySQL,直接也同

    2024年02月08日
    浏览(42)
  • 海量kafka数据入es速度优化处理

    主要是涉及到kafka 消费端到es 的数据处理 kafka端 1、批量消费(效果相当明显) 2、kafka 设置topic多分区,增加kafka的消费并行度(效果相当明显) es 端 1、采用批量插入,批量插入效率较单条插入效率高很多(效果相当明显,一次批量插入数据大小限制在5M内) 2、调整es 中索

    2024年02月12日
    浏览(51)
  • 简单讲讲ES在大数据规模下的性能问题与解决方案(一)

            众所周知,在处理大规模数据量的时候,我们的传统关系型数据库,例如MySQL,Oracle等...它们对于这些大规模数据的处理与计算是非常吃力的,甚至于在内存资源不足的情况下导致在mysql中查询数据失败的情况,甚至由于数据的规模较大,会消耗更多的磁盘空间,得不

    2024年02月04日
    浏览(30)
  • ES(Elasticsearch)8.x 以上启用自动安全配置,手动安全配置

    ES 8.x 以后,默认启用了自动安全配置,即 $ES_PATH_CONF/elasticsearch.yml 中默认的  xpack.security.enabled: false 变成了默认的 xpack.security.enabled: true ,启用elasticsearch 的安全配置。 自动进行以下安全配置: 为传输层和 HTTP 层生成 TLS 证书和密钥。 TLS 配置设置写入 elasticsearch.yml 。 为

    2024年01月19日
    浏览(29)
  • Hadoop内hive之间,hive与DB、ES等之间数据交互的问题与解决方案

    之前做大数据处理,经常遇到各种问题。很多时候是项目作业简单项配置问题,也可能是导入导出参数配置的问题,也可能是公司Hadoop平台的问题。那么如何排查问题,解决问题?这种事情,除了自己要积累一些大数据的知识和技能外,也需要一些获得一些排查问题的技巧、

    2024年02月01日
    浏览(32)
  • E往无前|腾讯云大数据ES索引原理剖析及写入性能优化最佳实践

    导读 本文经过大量案例总结和踩坑复盘,归纳整理了Elastisearch集群在写入性能优化方面一些常用的优化技巧和避坑指南。 在我们服务腾讯云ES的客户过程中,经常会收到一些客户对云上ES集群读写性能未能达到预期的反馈,并希望我们能够配合做一些性能压测及调优的工作。

    2024年02月09日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包