python - 我应该为我的 Python 库使用什么后备存储引擎?

标签 python storage

<分区>

我正在用 Python 编写一个数据处理库,它可以将各种来源的数据读取到内存中,对其进行处理,然后将其导出为各种不同的格式。我正在将这些数据加载到内存中,但我正在处理的一些数据集可能特别大(超过 4 Gig)。

我需要一个开源库作为后备存储,以优雅地处理大型数据集。它需要能够动态改变数据结构(添加、重命名和删除列),并且应该支持相当快的迭代。理想情况下,它应该能够处理任意大小的字符串和整数(就像 python 一样),但如果需要,我可以将其构建到库中。它需要能够处理缺失值。

有人有什么建议吗?

最佳答案

只要您没有复杂的连接,面向文档的数据库就应该能够很好地应对这种工作负载。

常见的代表是CouchDBMongoDB .

它们都非常适合 MapReduce 之类的算法(这包括遍历所有数据集)。如果您想将行与新数据合并,您将希望对“表格”进行排序或快速访问单个元素:两者都归结为拥有索引。

面向文档的数据库通过具有不同架构的文档来支持多个“表”。他们可以毫无问题地查询具有特定架构的文档。

我不认为您会找到一个轻量级解决方案来处理多个 4 GB 数据集并满足您列出的要求。尤其是动态数据结构很难快速实现。

关于python - 我应该为我的 Python 库使用什么后备存储引擎?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2254694/

相关文章:

python - 使功能不可覆盖

python - 在python中将txt文件读取到不带换行符的列表中

mysql - MySQL 支持 STORAGE 语法吗?

Android – 在哪里存储下载的内容,内部存储还是外部存储?

mysql - 如何在网络服务器上存储许多图像?

python - 为什么通过 simplejson 的 Google API 查询返回 "responseData": null?

Python 3 - 带有 select.select() 的套接字 - 检测连接丢失

python - 单个 Excel 中 Pandas Dataframe 的 Excel 样式和图表

storage - Ceph 对象存储 (RADOS) 中对象的最佳大小

.net - 如何使用 C# 构建共享访问签名 URL?