dka*_*kar 11 python sqlite persistence dictionary shelve
我有一个庞大的Python字典向量(150k向量,每个10k维度)的浮点数无法加载到内存中,因此我必须使用这两种方法之一将其存储在磁盘上并在适当时检索特定向量.矢量将被创建并存储一次,但可能会被读取很多次(数千次) - 因此有效读取非常重要.在使用搁置模块进行一些测试之后,我倾向于认为sqlite对于这种任务来说是更好的选择,但在我开始编写代码之前,我想听到更多关于此的意见...例如,还有其他任何其他除了那两个我不知道的选项?
现在,假设我们同意最佳选项是sqlite,另一个问题与表的确切形式有关.我正在考虑使用带有表格行的细粒度结构vector_key, element_no, value来帮助有效分页,而不是将矢量的所有10k元素存储到同一记录中.我真的很感激有关这个问题的任何建议.
Jak*_*yer 10
你想要sqlite3,那么如果你使用像sqlalchemy这样的ORM,你就可以轻松扩展并使用其他后端数据库.
Shelve更像是一个"玩具",而不是在生产代码中实际有用.
你要谈的另一点叫做规范化,我个人从来都不擅长这个,应该为你解释一下.
就像一个额外的注释,这显示了shelve vs sqlite3中的性能失败
| 归档时间: |
|
| 查看次数: |
4759 次 |
| 最近记录: |