有没有可以正确存储数组的免费/开源数据库?

时间:2010-11-16 17:19:35

标签: sql database

我正在寻找一个可以正确存储(多维)数组的免费/开源数据库。

一旦数组存储在数据库中,该数组中的项应该可以在数据库中搜索。这意味着,我不想序列化它。

应该可以在Linux(SuSe)下运行,我想在Python和PHP中使用它。

4 个答案:

答案 0 :(得分:1)

结帐MongoDB。它是一个快速且功能丰富的文档数据库,能够存储和搜索数组和对象(“文档”)。它有许多不同语言的客户端库,包括PHP和Python。

还有一些替代方案,例如CouchDBJackrabbit,但我自己没有测试过它们。

编辑:我现在看到你已经标记了问题“sql”。这些数据库都不是关系数据库,也不实现SQL。但是,他们很有能力,值得一试。

答案 1 :(得分:0)

Firebird有阵列支持,但我不知道你可以通过Query检索特定的数组元素。我认为您必须将数组检索为字段,然后使用其他脚本语言对其进行解析。我知道Kinterbasdb for Python支持存储/检索它们。我们简要地考虑了这一点,但是对于我们的需求,数据的序列化实际上最终变得更有意义。

答案 2 :(得分:0)

在标准SQL中,您可以执行

CREATE TABLE MyArray (
    RowIndex INTEGER,
    ColIndex INTEGER,
    Value    /* whatever type the array elements have */,
    UNIQUE (RowIndex, ColIndex)
);

答案 3 :(得分:0)

PostgreSQL内置了array data types。您可以声明一个列来存储数组,SELECT查询可以访问各个数组元素。