Для этой задачи мы воспользуемся фреймворком Rails и сервисом Java. Ruby on Rails или Rails - это серверная структура веб-приложений, написанная на Ruby по лицензии MIT.

Теперь, прежде чем я объясню, как автоматизировать операторы DDL (языка определения данных), позвольте мне объяснить поток данных.

Конвейер данных выглядит так:

MySQL - ›Kafka -› AWS S3 - ›AWS Redshift.

Итак, давайте разберемся по шагам:

  • MySQL - ›Кафка

Мы будем использовать службу Java для чтения двоичных журналов MySQL и передачи данных в Kafka. Эта библиотека Java с открытым исходным кодом, разработанная Стэнли Шайко, пригодится.

Почему мы используем Kafka?

Одно из многих применений Kafka - это потоковая обработка. Kafka действует как буфер между RDS и нашей OLAP (онлайн-аналитической системой обработки), то есть Redshift.

  • Kafka - ›AWS S3

Для Ruby существует множество клиентов Kafka. Но в этом примере мы будем использовать клиент ruby-kafka. Для этого вам необходимо установить гем ruby-kafka, используя следующую команду:

gem install ruby-kafka

Подробнее здесь: https://www.aureollabs.com/etl-mysql-data-to-aws-redshift/