Для этой задачи мы воспользуемся фреймворком 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/