У меня есть куча данных в файлах, хранящихся в Amazon S3, и я планирую использовать его для создания хранилища данных в Redshift. Мой первый вопрос - если правильный подход заключается в создании DV и Data Marts в Redshift или если я должен рассматривать S3 как мое Data Lake и иметь только Data Marts в Redshift?Data Vault в стратегии Redshift и ETL
В моей архитектуре я сейчас рассматриваю бывший (например, S3 Data Lake + Redshift Vault и Marts). Тем не менее, я не знаю, могу ли я создавать процессы ETL непосредственно в Redshift, чтобы заполнить Marts данными в Vault, или если мне придется, например, использовать Amazon EMR для обработки необработанных данных на S3, генерировать новые файлы там и наконец, загрузите их в Marts.
Итак, мой второй вопрос: Какова должна быть стратегия ETL? Благодарю.
S3 не является реляционным, это в основном для хранения файлов. Data Vault реализуется в реляционной базе данных, поэтому вы не можете создать datavault на S3. Как бы вы построили хабы, ссылки, спутники в S3? Если вы ищете терминологию, то S3 можно назвать вашим «данным озером» (теперь я чувствую себя грязным) –
@ Nick.McDermaid, вы правы. Я уже думал о S3 как о Data Lake в своей архитектуре. Мой вопрос больше связан с наличием DV и Data Marts в Redshift или просто Data Marts, которые заполнены данными в озере (я отредактирую вопрос). Я думаю, это загрузить хранилище с данными в S3, а затем загрузить Marts с данными из Vault. Тем не менее, я не знаю, смогу ли я создавать процессы ETL непосредственно в Redshift, или мне придется это сделать, например Amazon EMR, обрабатывая файлы на S3, создавая новые файлы с данными для Marts и загружая их это в Redshift? –
Ну, если у вас есть необходимость в хранилище данных, его нужно будет построить в режиме красного смещения. Вы можете загружать файлы в DV или DM. Если вы решите, что хотите DV, вы можете загрузить DV в DM через представления и удалить/вставить/обновить операторы - вам не нужно снова обходить экспорт и импорт файлов. Загрузка файлов в Redshift потребует выполнения какого-либо запускающего/планируемого запуска задания (на AWS или нет) для подключения к красному смещению и запуска команды 'COPY' внутри красного смещения для загрузки данных. Я исследовал проект, делающий это, но никогда не начал его, поэтому для меня это все теория сейчас. –