2011-12-14 1 views
2

Я видел, как некоторый код читал большие данные из файлов матов вместо выполнения запросов в базе данных. Каковы преимущества этого, поскольку они не подходят для использования базы данных? Можно ли легко перемещать содержимое файла мата в базу данных и наоборот?Преимущества чтения данных из файла мата в отличие от базы данных

ответ

4

Чтение данных из файла мата, также является «базой данных» , в которой вы читаете ваши данные из файла.
В конце концов, вам придется самостоятельно выполнять запросы и позаботиться о многих других проблемах.
Кроме того, это не масштабируемое решение, а это означает, что для большого количества данных это не будет работать.
Конечно, если у вас есть небольшое количество данных и только базовые запросы, то суета по настройке базы данных с использованием SQL не стоит.

Что касается вашего второго вопроса, это действительно зависит от данных, которые у вас есть.

+0

Полезно знать, что базы данных все еще быстрее – mugetsu

+0

@mugetsu: Я бы сказал, что накладные расходы намного ниже, используя матовые файлы для достаточно маленьких или упорядоченных наборов данных, которые тривиальны для запроса. – Jonas

+1

@Jonas Я имею дело с большими файлами матов, которые содержат изображения, если вы слышали об изображении VOC или изображениях Caltech101, то, что я использую. Структура таблицы довольно проста, но могут быть сотни тысяч строк. Так лучше было бы мат? – mugetsu

4

Я согласен с Андреем. Это зависит от данных и того, что вы хотите с ним делать. Я создал небольшую программу в Matlab, которая запрашивает относительно небольшую базу данных .mat, но по мере роста производительности базы данных и пользователей.

В свете этого мы решили использовать базу данных MySQL. Я создал небольшое Java-приложение, которое ведет переговоры с базой данных и импортирует его в Matlab для перемещения данных между Matlab и MySQL. Но мне пришлось создавать конкретные запросы для моих данных. Если кто-то может принести мне лучшее решение, я был бы благодарен.

Возможно, это была бы не такая плохая идея генерировать общий скрипт, который перемещает данные между данными .mat между Matlab и базой данных SQL. Храните данные в структуре и используйте их для создания таблиц.

Если вы хотите обсудить что-то подобное дальше по электронной почте, я буду рад. Может быть, мы можем чему-то научиться друг от друга.

+2

Просто дикая догадка, попробуйте преобразовать коврик в XML, а затем импортировать его с помощью некоторого стандартного инструмента базы данных. Например, Microsoft Access. –

+0

Я собираюсь попробовать это! У меня есть большие файлы .MAT, которые я конвертирую в SQLite DB, и это было больно, поскольку я не являюсь настоящим парнем MATLAB, поэтому мне пришлось собрать парсер в Python для обработки многих МНОЖИХ вложенных структур (черт вас вы MATLAB!). В любом случае я проанализировал его с помощью Python, а затем сохранил через pandas в DB. –