Существуют ли какие-либо бесплатные / открытые базы данных, которые могут правильно хранить массивы? - PullRequest
0 голосов
/ 16 ноября 2010

Я ищу бесплатную / открытую базу данных, которая может правильно хранить (многомерные) массивы.

Как только массив сохранен в базе данных, элементы этого массива должны быть доступны для поиска в базе данных.,Это означает, что я не хочу сериализовать его.

Он должен быть в состоянии работать под Linux (SuSe), и я хочу использовать его с Python и PHP.

Ответы [ 4 ]

1 голос
/ 16 ноября 2010

Выезд MongoDB .Это быстрая и многофункциональная база данных документов, способная хранить и искать массивы и объекты («документы»).Он имеет клиентские библиотеки для множества разных языков, включая PHP и Python.

Также есть несколько альтернатив, например CouchDB и Jackrabbit , но у меня нетсам их не проверял.

Редактировать: теперь я вижу, что вы пометили вопрос "sql".Ни одна из этих баз данных не является реляционной и не поддерживает SQL.Они, однако, компетентны и заслуживают проверки.

0 голосов
/ 16 ноября 2010

PostgreSQL имеет встроенный массив данных типов .Вы можете объявить столбец для хранения массива, и ваши запросы SELECT могут получить доступ к отдельным элементам массива.

0 голосов
/ 16 ноября 2010

В стандартном SQL вы можете сделать

CREATE TABLE MyArray (
    RowIndex INTEGER,
    ColIndex INTEGER,
    Value    /* whatever type the array elements have */,
    UNIQUE (RowIndex, ColIndex)
);
0 голосов
/ 16 ноября 2010

Firebird имеет поддержку массивов, но я не знаю, что вы можете получить определенные элементы массива с помощью Query.Я думаю, что вы должны извлечь массив как поле, а затем проанализировать его, используя другой язык сценариев.Я знаю, что Kinterbasdb для Python поддерживает их хранение / получение.Мы кратко рассмотрели это, но для наших нужд сериализация данных на самом деле стала более разумной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...