Создание MTurk-подобного приложения - как использовать базу данных при изменении имен столбцов для каждой задачи? - PullRequest
1 голос
/ 23 января 2012

Я создаю очень простое приложение MTurk-ish в Rails.Идея состоит в том, что люди будут загружать csvs, содержащие любые столбцы, которые они хотят (например, некоторый идентификатор, имя пользователя, некоторый фрагмент текста, ссылку, что угодно - эти столбцы будут меняться от задачи к задаче), и эти csvs будут содержатьвся информация для задачи MTurk.

Мой вопрос: как мне сохранить эти csvs в базе данных?Одним из способов является сохранение каждой строки CSV в виде двоичного объекта неструктурированных данных в MySQL (т.е. я в основном оставляю каждую строку в виде строки и вставляю ее в столбец MySQL).Возможно, лучший способ - использовать базу данных NoSQL, например MongoDB, где мне не нужна предопределенная схема.

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

1 Ответ

1 голос
/ 24 января 2012

Ну, вы в значительной степени ответили на свой вопрос.

Либо используйте базу данных на основе NoSQL Document (например, MongoDB), либо разделите cvs и сохраните их в соотношении 1: n в вашей базе данных в виде пар ключ-значение, прикрепленных к строке и столбцу каждая. однако ваша идея хранить большие двоичные объекты не совсем идеальна, так как ограничивает поиск в столбцах.

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