Если вы хотите использовать AWS EMR, то, вероятно, самое простое решение - просто запустить ежедневное задание, которое сбрасывает данные в файл в S3.Тем не менее, если вы хотите использовать что-то более SQL-е, вы можете загрузить все в Redshift.
Если ваша цель состоит в том, чтобы сделать его доступным в той или иной форме для других людей, то вам непременно следует поместить данные в S3.AWS имеет ETL и инструменты переноса данных, которые могут перемещать данные из S3 в различные пункты назначения, поэтому другие люди не будут ограничены в использовании данных только из-за того, что они хранятся в S3.
Кроме того, S3 является самым дешевым (теплым) вариантом хранения, доступным в AWS, и для всех практических целей его использование неограниченно.Если вы храните данные в базе данных SQL, вы значительно ограничиваете скорость, с которой эти данные могут быть получены.Если вы храните данные в базе данных NoSQL, возможно, вы сможете поддерживать больший трафик (возможно), но это будет стоить немало.
Просто чтобы проиллюстрировать мою точку зрения, я недавно провел эксперимент по проверке некоторых свойств одного из API-интерфейсов S3, и часть моего эксперимента заключалась в загрузке ~ 100 ГБ данных в S3 из экземпляра EC2.Я смог загрузить все эти данные всего за несколько минут, и это стоило почти ничего.
Единственное, что вам нужно решить, это формат ваших файлов данных.Вам следует поговорить с некоторыми другими людьми и выяснить, предпочитают ли Json, CSV или что-то еще.
Что касается добавления новых данных, я бы настроил лямбда-функцию, которая запускается событием CloudWatch.Лямбда-функция может получить данные из вашего источника данных и поместить их в S3.Триггер события CloudWatch основан на cron, поэтому достаточно легко переключаться между почасовой, ежедневной или любой другой частотой, соответствующей вашим потребностям.