我正在寻找一个可以正确存储(多维)数组的免费/开源数据库。
一旦数组存储在数据库中,该数组中的项应该可以在数据库中搜索。这意味着,我不想序列化它。
应该可以在Linux(SuSe)下运行,我想在Python和PHP中使用它。
答案 0 :(得分:1)
结帐MongoDB。它是一个快速且功能丰富的文档数据库,能够存储和搜索数组和对象(“文档”)。它有许多不同语言的客户端库,包括PHP和Python。
还有一些替代方案,例如CouchDB和Jackrabbit,但我自己没有测试过它们。
编辑:我现在看到你已经标记了问题“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查询可以访问各个数组元素。