我正在创建和处理一个非常大的数据集,大约有 3400 万个数据点,目前我将它们存储在内存中的 python 字典中(大约 22,500 个字典,1588 个类实例中每个都有 15 个字典)。虽然我能够在内存中管理这一切,但我用完了所有 RAM 和大部分交换空间。
我需要能够首先生成所有这些数据,然后一次对其中的选定部分进行分析。从效率的角度来看,将其中一些数据写入文件或将其存储在数据库中是否有益?或者我最好只是承受使用交换空间带来的效率损失。如果我应该写入文件/数据库,您是否建议使用任何 python 工具来执行此操作?
最佳答案
快速获取关系数据库!或者更多的内存。
如果您使用的是 Python,则从 Python Database Programming 开始。 SQLite将是一个选择,但我建议 MySQL基于您正在处理的数据量。如果您想要采用面向对象的方法来存储数据,您可能需要查看 SQLAlchemy ,但是如果您最终自己将每个对象类映射到一个表并只处理行和列,您可能会获得更高的效率。
关于python - 内存问题 : Should I be writing to file/database if I'm using swap? (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3087741/