Для такого рода проблем (синхронизация исходной базы данных с Redshift) у вас есть два основных решения:
- (A) создать приложение, которое периодически опрашивает входную базу данных, обнаруживает дельту и вводит обнаруженные дельта-данные в Redshift
- (B) использовать AWS Kinesis Firehose
Вариант B гораздо проще реализовать, поскольку для этой цели вы в основном используете выделенный сервис AWS. Однако он подходит только для исходных баз данных, поддерживаемых Firehose. К счастью для вас, DynamoDB поддерживается как источник ввода для Firehose. Также вам нужно рассчитать дополнительные расходы, связанные с самим Kinesis, Lambda, используемым для конвертации записей и т. Д., Чтобы быть уверенным, что этот вариант действителен для вас с экономической точки зрения. См. эту статью, чтобы узнать, как вы можете соединить потоки DynamoDB с Kinesis с помощью Firehose.
Опция A обычно является допустимым решением для исходных баз данных, не поддерживаемых Firehose.