检索系统学习笔记

1.双缓冲机制

倒排索引在内存中应该如何实时更新呢,因为会出现多个用户同时更新索引的情况,简单地读写锁会降低性能。

双缓冲机制是无锁的更新方法,使用A、B两份倒排索引,一份当前读,一份用来更新索引,用来读的在当前不能被更新,然后定期的两个交换身份。

2.全量索引结合增量索引的更新方法

双缓冲机制解决的是索引完全在内存中,不用加锁对倒排索引进行更新的问题,它的不足之处在于,对于海量的索引数据,必须存储在磁盘中的是不能使用的。

全量索引结合增量索引是指,根据全部数据在磁盘构建倒排索引,在需要更新索引时,在内存构建。对于查找,需要同时检查磁盘上的全量索引表和内存中的增量索引表,然后最后合并结果。

全量索引和增量索引,对于删除的索引,直接在内存构建一个删除列表。

3.相同点

双缓冲机制和全量索引与增量索引,这两种都是通过读写分离来实现无锁更新。

相关推荐
伶俜6612 小时前
零基础学 ArkUI 传感器(专题二):从加速度计到指南针,玩转硬件能力
学习·华为·harmonyos
鸿乃江边鸟12 小时前
Spark中怎么做Spark canonicalize归一化
大数据·分布式·spark
进击的小头12 小时前
第8篇:IGBT 从零到精通:核心原理、关键参数、选型指南与工业级应用要点
经验分享·嵌入式硬件·学习
SLD_Allen13 小时前
Kafka分区与消费者的关系kafka分区和消费者线程的关系
分布式·kafka
he___H13 小时前
数据密集型应用系统设计--其一
分布式
小陈phd13 小时前
Text2SQL智能体学习笔记(一)——NL2SQL及执行流程介绍
笔记·学习
风栖柳白杨13 小时前
【大模型学习】主流大模型统计
学习
lengxuemo13 小时前
ICC2学习之PG
学习
稷下元歌13 小时前
系统学习plc 基础指令上篇,官方资料课程笔记整 理
笔记·学习
我的xiaodoujiao13 小时前
API 接口自动化测试详细图文教程学习系列25--继续处理testCase中的数据
python·学习·测试工具·pytest