2

我正在尝试找到一个数据库来充当 Python 集。这是因为我的数据太大而无法存储在内存中。

我尝试使用 SQLite,但听说它可能对超过 10 GB 的数据有性能问题,所以我正在考虑尝试CouchDB

问题是它似乎像字典一样工作,而不是像集合?

是否有作为 Python 集运行的数据库工具?也就是说,它只存储值而不是键值对?

(我必须用 Python 编写代码,所以我对易于使用 Python 的东西感兴趣)

编辑:

我会将它存储为一个巨大的集合,而不是几个小的集合。

4

3 回答 3

1

Redis可以存储Set数据类型:
http ://redis.io/topics/data-types

它有一个python客户端。

于 2012-11-20T07:17:19.013 回答
1

根据如何实现set()的主要答案,键/值存储的行为类似于 a dict,但这几乎就是如何实现的。. 为什么不只使用一个小的虚拟值,然后对键进行设置操作?set

于 2012-11-20T07:17:31.583 回答
0

为什么不使用设置值作为唯一键创建一个集合?

UPD:例如,您有这样的文件:

{
    _id: "someid",
    youset: {val1, val2, val3},
}

您可以创建一个新集合,例如:

{
    _id: val1,
    owner: "someid"
}
{
    _id: val2,
    owner: "someid"
}
{
    _id: val3,
    owner: "someid"
}
...

由于您不需要同时使用全部数据,因此无需将其嵌入到主文档中。

于 2012-11-20T07:30:30.067 回答