突击训练第一季(二)全文检索之ES

本文深入解析了Elasticsearch的分布式架构原理,包括其如何通过多节点形成集群、索引分片来处理大规模数据。同时,详细介绍了ES的读写数据流程及底层机制,如refresh、commit、flush和merge等操作。此外,针对数十亿数据量级的场景,提出了多种性能优化策略,如利用filesystem cache、数据预热、冷热分离、document设计和分页优化。

1.es的分布式架构原理能说明一下么(es是如何实现分布式的)?

 

es设计的理念就是分布式搜索引擎,底层其实还是基于lucene的。

其核心思想就是在多台机器上启动多个es进程实例,组成一个es集群。接着你搞一个索引,这个索引可以拆分成多个shard,每个shard存储部分数据。

2.es写入数据的工作原理是什么啊?es查询数据的工作原理是什么啊?

2.1 读写数据的工作流程:

2.2 写数据的底层原理:

四个核心操作:

 操作触发条件操作过程
refresh1. 每隔1s进行一次refresh操作
2. buffer已满,则进行一次refresh操作
1. buffer将数据写入segment file
2. 清空buffer
commit1. 每隔30分钟执行一次translog
2. translog日志已满
1. 会主动进行一次refresh操作,把buffer中的数据写入到segment file
2. 生成一个 commit point 文件标识此次操作一件把buffer数据执行到了哪一个segment文件
3. 执行flush操作
flushcommit操作中1. 把file system上的文件全部强制fsync(持久化)到磁盘
2. 清空translog文件
3. 生成一个新的translog文件
merge后台检查1. 将多个segment文件合并为一个文件,并把.del文件删除
2. commit log 更新标识目前的segment
3. 打开segmentfile 到file cache 以供快速搜索
4. 删除旧的segment file

3.分布式搜索引擎在几十亿数据量级的场景下如何优化查询性能?

3.1 性能优化杀手锏--filesystem

  • es每次走fileSystem cache查询速度是最快的,所以最佳情况,机器内存至少可以容纳你总数据量的一半。
  • 采用elasticSearch + Hbase/mysql的架构方式。es中只存放少量关键数据建立索引,通过es查询到doc id 再去Hbase/mysql中查询完整的数据信息。

3.2 数据预热

数据预热是指,每隔一段时间,将热数据手动在后台查询一遍,将热数据刷新到fileSystem cache上

3.3 冷热分离

你最好是将冷数据写入一个索引中,然后热数据写入另一个索引中,这样可以确保热数据在被预热之后,尽量都让他们留在filesystem os cache里面,别让冷数据给冲刷掉。

3.4. document设计

在使用es时 避免使用复杂的查询语句(Join 、聚合),就是在建立索引时,就根据查询语句建立好对应的元数据。

3.5 分页性能优化

4.es生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?

 

申明:内容来自网络,仅供学习使用
参考:https://www.bilibili.com/video/BV1FE411y79Y

【博士论文复现】【阻抗建模、验证扫频法】光伏并网逆变器扫频与稳定性分析(包含锁相环电流环)(Simulink仿真实现)内容概要:本文档是一份关于“光伏并网逆变器扫频与稳定性分析”的Simulink仿真实现资源,重点复现博士论文中的阻抗建模与扫频法验证过程,涵盖锁相环和电流环等关键控制环节。通过构建详细的逆变器模型,采用小信号扰动方法进行频域扫描,获取系统输出阻抗特性,并结合奈奎斯特稳定判据分析并网系统的稳定性,帮助深入理解光伏发电系统在弱电网条件下的动态行为与失稳机理。; 适合人群:具备电力电子、自动控制理论基础,熟悉Simulink仿真环境,从事新能源发电、微电网或电力系统稳定性研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握光伏并网逆变器的阻抗建模方法;②学习基于扫频法的系统稳定性分析流程;③复现高水平学术论文中的关键技术环节,支撑科研项目或学位论文工作;④为实际工程中并网逆变器的稳定性问题提供仿真分析手段。; 阅读建议:建议读者结合相关理论教材与原始论文,逐步运行并调试提供的Simulink模型,重点关注锁相环与电流控制器参数对系统阻抗特性的影响,通过改变电网强度等条件观察系统稳定性变化,深化对阻抗分析法的理解与应用能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值