Конвейер репликации для репликации данных из MySql RDS в Redshift - PullRequest
1 голос
/ 10 апреля 2020

Моя проблема заключается в создании конвейера репликации, который реплицирует таблицы и данные из MySql RDS в Redshift, и я не могу использовать какую-либо управляемую службу. Кроме того, любые новые обновления в RDS также должны реплицироваться в таблицах красных смещений.

Изучив множество решений, я понял следующие шаги:

  1. Создать простые файлы / CSV из MySql RDS и сохранение их в S3.
  2. Используйте команду COPY от Redshift, чтобы скопировать данные в промежуточные таблицы и затем, наконец, сохранить их в основных таблицах.
  3. Теперь для часть обновления, каждый раз, когда я буду * * * * * * * * * * * *, 1018 *

    , то я просто хотел бы подтвердить, подходит ли вышеуказанный подход? Так как каждый раз, когда происходит обновление, будут ли старые данные полностью удалены и заменены новыми или возможно просто обновить необходимые записи. Если да, то как?

    Любая помощь будет по достоинству оценена. Заранее спасибо.

1 Ответ

0 голосов
/ 13 апреля 2020

Да, вышеприведенная стратегия не просто хороша, ее good. Я использую его в производстве system, и он отлично работает, хотя вы должны тщательно продумать эту стратегию, чтобы убедиться, что она решает ваш сценарий использования effectively и efficiently.

Вот несколько моментов, что я имею в виду под эффективным и результативным.

  1. Убедитесь, что у вас есть наиболее эффективный способ идентифицировать записи, которые нужно отправить на Redshift, что означает идентификацию потенциальных записей с оптимизированными запросами, включающими CPU, Memory.
  2. Убедитесь, что вы используете оптимизированный способ отправки идентифицированного на redshift, который включает оптимизацию размера данных, так чтобы он использовал минимальные значения storage и network bandwidth. например, сжатие и gzip CSV-файлы, чтобы он занимал минимальный размер в S3 хранилище и сохранял network пропускную способность.
  3. Попробуйте выполнить copy redshift запросов так, чтобы он выполнялся параллельно.

Надеюсь, это поможет.

...