在shelve和sqlite之间为真正的大字典(Python)选择

2024-06-07 09:52:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个大的Python字典,里面有无法加载到内存中的浮点数向量(150k个向量,每个向量有10k个维度),所以我必须使用这两种方法中的一种来将其存储在磁盘上,并在适当的时候检索特定的向量。向量将被创建和存储一次,但可能会被多次(数千次)读取——因此有效地读取非常重要。在使用shelve模块进行了一些测试之后,我倾向于相信sqlite对于这类任务是一个更好的选择,但是在我开始编写代码之前,我想听听更多关于这方面的意见。。。例如,除了这两个我不知道的选项之外,还有其他选择吗?

现在,假设我们同意最好的选择是sqlite,那么另一个问题与表的确切形式有关。我正在考虑使用一个细粒度的结构和vector_key, element_no, value形式的行来帮助高效的分页,而不是将向量的所有10k元素存储到同一个记录中。对于这个问题,我非常感谢你的建议。


Tags: 模块方法内存代码sqlite字典选项结构

热门问题