- 1
- 2
- 3
- 4
- 5
渐进式Rehash的额外查询开销分析.docx
资料介绍
一、什么是渐进式Rehash
哈希表作为开发中最常用的高效查找数据结构之一,核心特点是可以实现平均O(1)时间复杂度的插入、查询与删除操作。但哈希表的性能高度依赖负载因子,当存储元素数量持续增加,负载因子超过预设阈值后,哈希冲突概率会快速上升,操作性能大幅下降,此时就需要对哈希表进行扩容,也就是Rehash操作。
传统Rehash操作会一次性将旧哈希表中的所有元素重新计算哈希值,迁移到新的更大容量的哈希表中,这种方式简单直接,但存在一个明显的问题:如果哈希表存储的元素数量非常多,达到百万甚至千万级别,一次性迁移所有元素会产生相当长时间的阻塞,导致服务无法及时响应请求,对于需要高可用低延迟的在线业务来说完全不可接受。
为了解决全量Rehash的阻塞问题,业界提出了渐进式Rehash方案。渐进式Rehash的核心思路是把全量一次性的元素迁移,拆分成多次小批量迁移,分散到每次哈希表的插入、查询、删除操作中逐步完成,同时在Rehash过程中维护新旧两个哈希表,这样就不会出现长时间的阻塞,服务始终可以保持低延迟响应。
渐进式Rehash的标准执行流程大致如下:
1. 触发扩容条件(负载因子超过阈值)后,为哈希表分配新的更大容量的空间,一般为旧容量的2倍
2. 保留旧哈希表,同时维护新、旧两个哈希表结构
3. 每次对哈希表执行插入、查询、删除操作时,顺带迁移旧哈希表中一个哈希桶(或固定数量的哈希桶)的元素到新哈希表
4. 当旧哈希表所有元素全部迁移完成后,废弃旧哈希表,将新哈希表作为正式哈希表使用
二、渐进式Rehash为什么会产生额外查询开销
在渐进式Rehash过程中,由于存在新旧两个哈希表,一次普通的键查询操作会天然产生额外开销,主要来源有两个方面:查询范围扩大、哈希计算重复。
部分文件列表
| 文件名 | 大小 |
| 渐进式Rehash的额外查询开销分析.docx | 17K |
相关下载
- 大唐杯仿真平台使用方法介绍
- PCB做板阻抗要求计算.xls
- PCB转Gerber方法.doc
- USB3.0-ALTERA-DDR2开发板入门指南.pdf
- EZ-USB FX3 I2C Boot Option.pdf
- EZ-USB FX3 Hardware Design Guidelines.pdf
- CYPRESS USB3.0 FX3 DEBUG仿真设置——Eslips...
- CYUSB3KIT-001 FX3 DVK Schematic PDF 硬件原...
- CYUSB3KIT-001 FX3 DVK Schematic CADENCE 设...
- Altera_cyclone III -DDR2-USB3.0开发板CADEN...
最新上传
-
yahuang001 打赏3.00元 3天前
-
yahuang001 打赏1.00元 3天前
-
zhongshaoxiong 打赏3.00元 3天前
-
他山之石可攻玉 打赏60.00元 3天前
用户:烟雨
-
江岚 打赏210.00元 3天前
用户:潇潇江南
-
江岚 打赏100.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏310.00元 3天前
用户:江岚
-
21ic下载 打赏210.00元 3天前
用户:潇潇江南
-
21ic下载 打赏60.00元 3天前
用户:他山之石可攻玉
-
21ic下载 打赏60.00元 3天前
用户:烟雨
-
21ic下载 打赏60.00元 3天前
用户:w178191520
-
21ic下载 打赏60.00元 3天前
用户:w993263495
-
21ic下载 打赏110.00元 3天前
用户:xzxbybd
-
21ic下载 打赏60.00元 3天前
用户:zq_1943
-
21ic下载 打赏20.00元 3天前
用户:kk1957135547
-
21ic下载 打赏20.00元 3天前
用户:sun2152
-
21ic下载 打赏20.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏20.00元 3天前
用户:xuzhen1
-
21ic下载 打赏20.00元 3天前
用户:w1966891335
-
21ic下载 打赏35.00元 3天前
用户:有理想666
-
21ic下载 打赏15.00元 3天前
用户:nuaanuaa111
-
21ic下载 打赏20.00元 3天前
用户:liqiang9090
-
21ic下载 打赏15.00元 3天前
用户:ningmengge
-
21ic下载 打赏10.00元 3天前
用户:mulanhk
-
21ic下载 打赏5.00元 3天前
用户:asys
-
21ic下载 打赏10.00元 3天前
用户:舞蹈荀彧
-
21ic小能手 打赏5.00元 3天前
资料:磁编码器开源方案
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏50.00元 3天前
-
江岚 打赏20.00元 3天前
-
江岚 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏8.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏3.00元 3天前




全部评论(0)