Я могу создать материализованное представление в RDS (postgreSQL), чтобы отслеживать «последние» выходные данные из запроса SQL, а затем визуализировать это в QuickSight. Этот процесс также очень «быстрый», поскольку он не приводит к вызову дополнительных сервисов AWS и / или повторной обработке всех данных (через запрос SQL).
Проблема заключается в создании материализованных представлений (за 5 секунд) для сотен запросов и сохранении их всех в базе данных. Представьте себе БД с данными объемом 1 ТБ, создание инкрементного / материализованного представления кажется гораздо менее болезненным, чем использование других сервисов AWS, но в конечном итоге не будет оптимальным с точки зрения времени / затрат на обработку и т. Д.
Я исследовал различные сервисы AWS,ни одна из которых не решает эту проблему.
- Я пытался использовать AWS Glue. Вам нужно будет создать 1 скрипт на запрос и вывести его в БД. Промежуток между чтением и записью инкрементных данных больше, чем создание материализованного представления.
- Я исследовал использование AWS Kinesis, а затем лямбда-выражения для запуска SQL для «новых» данных в потоке и сохранения значения в S3 или RDS. Опять же, это добавляет задержку и не работает так же хорошо, как материализованное представление.
- Я читал, что в AWS Redshift нет материализованных представлений, поэтому они привязаны к RDS (PostgreSQL).
Есть мысли?