【发布时间】:2021-06-11 21:45:40
【问题描述】:
满足以下设计目标的最有效的键值对存储算法是什么?
- 数据存储在磁盘上,以避免软件/计算机未正常关闭时数据丢失
- 数据由单个应用程序读取/写入
- 在台式机上运行,因此需要使用最少的内存、处理和存储,从而最大限度地减少对用户计算机性能的影响
- 必须支持每秒多次(2 到 3 次)插入/更新
- 预计总共只有几千条记录,但其中一些记录会经常更新(即更新比插入多很多倍)
- 数据每天只检索几次(2 到 3 次)
- 使用单个主数字键(即短键)写入和检索数据
- 需要经常更新用于过滤和排序检索数据的辅助字段(即“键”或“列”)
- 主键不能更改(即不需要更改)
- 不需要删除记录(即不支持删除)
- 应用程序还将存储与密钥(主要和次要)关联的非结构化(即用户所需的任何内容)数据
- 与密钥关联的数据可以更新
- 始终以有序列表的形式检索数据:
一种。从头开始,或者
湾。按辅助键过滤
计划在 C 应用程序中使用它。选择的主要标准是尽可能绝对轻量和快速。
【问题讨论】:
标签: dictionary hash key-value-store