Самый разумный способ импортировать массивные наборы данных в приложение Rails? - PullRequest
1 голос
/ 12 марта 2010

У меня есть несколько массивных (несколько гигабайт) наборов данных, которые необходимо импортировать в приложение Rails. Каждый из наборов данных в настоящее время находится в своей собственной базе данных на моей машине для разработки, и мне нужно читать из них и создавать строки в таблицах в моей базе данных Rails на основе информации, которую они содержат. Таблицы в моей базе данных Rails не будут точно такими же, как таблицы в исходных базах данных.

Какой самый умный способ сделать это?

Я думал о миграции, но я не совсем уверен, как подключить миграцию к базам данных, и даже если это возможно, это будет смехотворно медленно?

Ответы [ 2 ]

1 голос
/ 12 марта 2010

не видя схем и не зная логики, которую вы хотите применить к каждой строке, я бы сказал, что самый быстрый способ импортировать эти данные - создать представление таблицы, которую вы хотите экспортировать, в том порядке, в котором вы хотите (и обработать)это с помощью sql) и сделать выбор в outfile в этом представлении.Затем вы можете взять полученный файл и импортировать его в целевую базу данных.

Это не позволит вам использовать какие-либо проверки модели рельсов для импортированных данных.

В противном случае вы должны пойти медленным путем и создать модель для каждой исходной базы данных / таблицы для извлечения данных (http://programmerassist.com/article/302 говорит вам, как подключиться к другой базе данных для данной модели)и импортировать это таким образом.Это будет довольно медленно, но вы можете настроить экземпляр монстра EC2 и запустить его как можно быстрее.

Миграции будут работать для этого, но я бы не рекомендовал его для чего-то подобного.

0 голосов
/ 12 марта 2010

Поскольку это предложил грузинский, я отправлю свой комментарий в качестве ответа:

Если изменения являются поверхностными (имена столбцов изменены, столбцы удалены и т. Д.), Я просто вручную экспортирую их из старой базы данных в новую, а затем запустите миграцию для изменения столбцов.

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