集合的NOSQL数据库(与dicts /键值存储相对)?

时间:2012-11-20 07:01:37

标签: python couchdb large-data nosql

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

我尝试过使用SQLite,但听说可能会出现针对>的性能问题。 10千兆字节的数据,所以我正在尝试CouchDB

问题是它似乎像dict一样工作,而不是像一套?

是否有一个充当Python集的数据库工具?也就是说,它只存储值而不是键值对?

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

编辑:

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

3 个答案:

答案 0 :(得分:1)

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

它有一个python客户端。

答案 1 :(得分:1)

键/值存储的行为类似dict,但根据How is set() implemented?的主要答案,这几乎是set的实现方式。为什么不使用一个小的虚拟值,并在键上进行设置操作?

答案 2 :(得分:0)

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

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

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

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

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

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