Копирование части таблицы из SQL Server в Aurora DB (на основе MySQL от AWS)

У меня есть устаревшая база данных SQL Server, и мне нужно скопировать часть очень большой таблицы на ней в новый кластер Aurora DB из AWS (RDS).

Старая таблица на сервере SQL содержит 1,8 миллиарда записей и 43 столбца, однако в новой БД у меня будет только 13 из этих столбцов и почти все строки.

Мне было интересно, есть ли у кого-нибудь идеи, как лучше всего передать эти данные?

Я написал простой скрипт Python для запроса SQL-сервера и последующего выполнения операторов вставки в новой БД, но, по моим оценкам, это займет около 30 часов после того, как я проведу несколько тестов на меньших наборах данных.

Любые идеи?

P.S Aurora основана на MySQL, поэтому я предполагаю, что если она работает для MySQL, она будет работать и для Aurora.


person Mo.    schedule 17.11.2015    source источник
comment
Убедитесь, что не создали никаких индексов, кроме PK, перед импортом.   -  person Eckd    schedule 02.12.2015


Ответы (1)


Предполагая, что вы можете получить нужные данные в виде чего-то вроде CSV-файла, LOAD DATA LOCAL INFILE должен быть достаточно эффективным.

Я задался вопросом, будет ли это разрешено в RDS, и обнаружил статью AWS на импорт данных в MySQL на RDS. Мне не удалось найти аналога для Aurora, только переходил с Экземпляр MySQL на основе RDS. Есть документ Amazon RDS for Aurora Export / Import Performance Best Practices. однако в нем есть одна ссылка на LOAD DATA LOCAL INFILE.

person StuBez    schedule 17.11.2015