2016-08-17 4 views
9

У нас есть таблица интенсивной записи (на AWS RDS MySQL) из унаследованной системы, и мы хотели бы передать каждое событие записи (вставить или обновить) из этой таблицы в кинезис. Идея состоит в том, чтобы создать канал для разминки кешей и обновить поисковые системы.Данные потока из двоичного журнала MySQL в Kinesis

В настоящее время мы делаем это с использованием архитектуры опроса rudimentar, в основном с использованием SQL, но идеальным было бы иметь архитектуру push, считывающую события непосредственно из журнала транзакций.

Кто-нибудь попробовал? Любая предлагаемая архитектура?

+0

Эй, вы могли это реализовать? –

+0

Пока нет. Мы скоро вернемся к этой проблеме. –

ответ

9

Я работал с некоторыми клиентами, которые уже это делают, в Oracle. Похоже, что LinkedIn много использует эту технологию потоковой передачи данных из баз данных в другое место. Они создали платформу под названием Databus, чтобы сделать это агностически - https://github.com/linkedin/databus/wiki/Databus-for-MySQL.

Там находится общественный проект в Github, следуя принципам LinkedIn, уже потоковые Двоичный из Mysql в Kinesis Streams - https://github.com/cmerrick/plainview

Если вы хотите, чтобы попасть в вшивый песчаный подробности LinkedIn подхода, есть действительно хороший (и обширное) сообщение в блоге - https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying.

И последнее, но не в последнюю очередь, Yelp делает это так же, но с Кафкой - https://engineeringblog.yelp.com/2016/08/streaming-mysql-tables-in-real-time-to-kafka.html

Не вдаваясь в основы Kinesis Streams, для краткости, если мы принесем KINESIS Streams к игре, я не понимаю, почему это не должно работать. По сути, он был построен для этого - ваш журнал транзакций базы данных представляет собой поток событий. Заимствование выдержки из публичной документации Amazon Web Services: Amazon Kinesis Streams позволяет обрабатывать данные в реальном времени. С потоками Amazon Kinesis Streams вы можете непрерывно собирать данные по мере их создания и оперативно реагировать на критическую информацию о своей деятельности и операциях.

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