Как сделать одноразовую загрузку для 4 миллиардов записей из MySQL в SQL Server - PullRequest
6 голосов
/ 15 мая 2019

Нам нужно сделать начальную копию данных в таблице, содержащей более 4 миллиардов записей, для таргетинга на SQL Server (2014) из исходного кода MySQL (5.5).Рассматриваемая таблица довольно широка и содержит 55 столбцов, однако ни один из них не является LOB.Я ищу варианты для копирования этих данных наиболее эффективным способом.

Мы попытались загрузить с помощью Attunity Replicate (что прекрасно работает для небольших таблиц), но если первоначальная копия данных с Attunity Replicate не удалась, то она начинается заново, теряя все время, потраченное на копирование.данные.С исправлениями и возможностью загрузки таблицы более чем на 3 месяца Attunity не была решением.

Мы также пробовали меньшую пакетную загрузку со связанным сервером.Это работает, но не кажется эффективным вообще.

Как только данные будут скопированы, мы будем использовать Attunity Replicate для обработки CDC.

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

Одним из наиболее эффективных способов загрузки огромных данных является их чтение по частям.

Я ответил на многие похожие вопросы для SQLite, Oracle, Db2 и MySQL. Вы можете обратиться к одному из них для получения дополнительной информации о том, как это сделать с помощью служб SSIS:

С другой стороны, есть много других предложений, таких как удаление индексов в целевой таблице и воссоздание их после вставки, создание необходимых индексов в исходной таблице, использование опции быстрой загрузки для вставки данных ...

0 голосов
/ 24 мая 2019

Для чего-то подобного, я думаю, SSIS будет самым простым.Он предназначен для больших вставок размером до 1 ТБ.На самом деле, я бы порекомендовал эту статью MSDN Мы загрузили 1 ТБ за 30 минут, и вы тоже можете .

Выполнение простых операций, таких как удаление индексов и выполнение других оптимизаций, таких как разбиение, ускорит вашу загрузку.,Хотя 30 минут - не самое подходящее время для съемки, было бы очень простой задачей запустить пакет служб SSIS в нерабочее время.

У моего бизнеса нет нагрузки на вашу шкалу, но мы обновляем наши базы данных более чем на 100 млн. В сутки, что не занимает более 45 минут, даже при том, что оно плохо оптимизировано.

...