У меня есть база данных размером примерно 100 ГБ. Ежедневно база данных должна обновляться примерно 8 ГБ данных. Данные загружаются в базу данных с помощью сценария (python), написанного третьей стороной (Apple). Данные представляют собой набор файлов, относящихся к различным таблицам в базе данных.
В настоящее время ежедневное обновление базы данных занимает около 15 часов. Я запускаю обновление на своем локальном компьютере (четырехъядерный процессор 2,6 ГГц, 6 ГБ оперативной памяти, 32-разрядная версия Ubuntu 11 и MySQL 5.1).
В конечном итоге этот процесс будет перенесен в сервис Amazon EC2. Как лучше всего оптимизировать этот процесс, чтобы значительно сократить время, необходимое для ежедневного приема всех данных?
Будем признательны за ваши предложения. Спасибо.
Используйте файл CSV и LOAD DATA INFILE
, это намного быстрее, чем запуск SQL.
Другой вариант - импортировать файлы SQL параллельно, запустив несколько клиентов или используя Maatkit's мк-параллельное восстановление