Я исследовал базу данных Amazon Redshift как возможную будущую замену нашему хранилищу данных. Мой опыт всегда был в использовании многомерного моделирования и методов Ральфа Кимбалла, поэтому было немного странно видеть, что Redshift не поддерживает такие функции, как последовательный тип данных для автоинкрементных столбцов.
Тем не менее, есть недавнее сообщение в блоге AWS Big Data о том, как оптимизировать Redshift для звездообразной схемы: https://blogs.aws.amazon.com/bigdata/post/Tx1WZP38ERPGK5K/Optimizing-for-Star-Schemas и-Interleaved-сортировка-на-Амазонка-Redshift
Вопрос, который у меня возникает, заключается в том, как лучше всего загружать схему «звезда» в Redshift? Я не могу найти ответ на этот вопрос в документации Redshift.
Я склонен импортировать мои файлы из S3 в промежуточные таблицы, а затем использовать SQL для выполнения преобразований, таких как поиск и генерация суррогатных ключей, перед вставкой в таблицы назначения.
Это то, что в настоящее время делают другие? Есть ли инструмент ETL стоит денег, чтобы сделать это проще?