У меня около 30 таблиц в моем экземпляре RDS postgres / oracle (еще не определено, является ли он oracle или postgres).Я хочу получить все записи, которые были вставлены / обновлены за последние 4 часа (настраивается), создать CSV-файл, относящийся к каждой таблице, и сохранить файлы в S3.Я хочу, чтобы весь этот процесс был транзакционным.Если при извлечении данных из одной таблицы возникает какая-либо ошибка, я не хочу, чтобы данные, относящиеся к другим 29 таблицам, сохранялись в S3.Данные не очень велики, они должны быть порядка нескольких записей или менее в каждой таблице в течение 4 часов.
Я думаю о том, чтобы в кластере EMR было задание для получения данныхиз RDS создайте CSV для каждой таблицы и опубликуйте все файлы на S3 в конце процесса.Кластер EMR будет уничтожен после публикации данных на S3.Триггер Cloudwatch будет вызывать лямду каждые 4 часа, что приведет к ускорению нового кластера EMR, который выполняет эту работу.
Есть ли альтернативные подходы, которые стоит изучить для этого преобразования?