Нужен совет по стратегии миграции больших таблиц из RDS в DynamoDB

У нас есть пара огромных таблиц mySql в RDS (более 700 ГБ), которые мы хотели бы перенести в таблицу DynamoDB. Можете ли вы предложить стратегию или направление, чтобы сделать это чистым параллельным способом? Возможно, с помощью EMR или AWS Data Pipeline.


person Ankit Kapur    schedule 25.03.2016    source источник


Ответы (3)


Вы можете использовать AWS Pipeline. Существует два основных шаблона: один для перемещения таблиц RDS в S3, а второй для импорта данных из S3 в DynamoDB. Вы можете создать свой собственный конвейер, используя оба шаблона.

С Уважением

person AGL    schedule 25.03.2016
comment
Спасибо, было бы идеально, если бы мы могли использовать эти шаблоны, но у нас есть 2 таблицы mySQL, которые мы хотели бы сохранить как 1 отдельную таблицу DynamoDB. В шаблонах есть опции для работы с одной таблицей, но не с двумя. Есть ли для этого способ работы, не связанный с предварительной обработкой? (это было бы нашим последним средством - объединить 2 таблицы mySQL в одну таблицу mySQL, потому что для этого потребуется много времени и места) - person Ankit Kapur; 26.03.2016
comment
Привет, Анкит. В этом случае вам нужно будет включить кластер EMR в конвейер. Рабочий процесс должен быть следующим: перемещение обеих таблиц в S3 в отдельном CSV-кластере, кластер EMR объединит / объединит таблицы, а выходные данные будут отправлены в S3, и, наконец, импортировать ваши данные в DynamoDB. Здесь вам нужно будет немного развить работу слияния / присоединения. Импорт / экспорт в S3 в EMR станет простым с помощью команд Hadoop. - person AGL; 27.03.2016

с такими большими данными нужно учитывать, является ли Dynamo лучшим вариантом.

Если это статистические данные или другие «большие данные», попробуйте AWS RedShift, который может лучше подойти для вашей ситуации.

person Dmitry Buslaev    schedule 25.03.2016
comment
Нам нужно переключиться на денормализованную таблицу без схемы, чтобы учесть определенные варианты использования, поэтому Dynamo - лучший вариант для нас. - person Ankit Kapur; 26.03.2016
comment
@AnkitKapur - Dynamo хорош только в том случае, если вы можете выбрать хороший хеш-ключ для своих данных! Прочтите документацию и убедитесь, что вы понимаете ограничения и передовой опыт Dynamo, прежде чем идти по этому пути. - person Mike Dinescu; 27.03.2016

Мы проделали аналогичную работу, и, вероятно, есть лучшая стратегия для этого. Использование AWS DMS и некоторых подготовительных таблиц в исходном экземпляре.

Он состоял из двух этапов:

  1. Вы создаете новые таблицы в исходном экземпляре, которые точно соответствуют схеме Dynamodb. Например, объединение нескольких таблиц в одну и т. Д.

  2. Настройте задачу DMS с подготовительными таблицами в качестве источника и DynamoDB в качестве цели. Поскольку таблицы подготовки и целевая схема теперь совпадают, с этого момента все должно быть довольно просто.

Надеюсь, это поможет! Удачи!!

person Hgottipati    schedule 18.10.2017