Я думаю, что это зависит от того, что вы используете для получения всех этих данных.Рэнди прав в том, что вам, вероятно, следует каким-то образом сохранить исходные данные, хотя это не обязательно должно быть в вашей производственной базе данных - это может быть в некоторой промежуточной форме, которая может быть текстовыми файлами или другой промежуточной базой данных.
Возможно, что вы немного не по теме ...
Обычно, когда я выполняю сложные ETL из нескольких источников, я использую двухэтапный процесс.Первым шагом является объединение всех входных данных в один формат.Это может быть в файлах CSV или XML или в промежуточной базе данных.
Оттуда у меня есть второй процесс, который загружает данные в рабочую или основную базу данных.Преимущество здесь состоит в том, что после того, как вы завершили импорт (или «загрузку») кода со всей потенциально сложной бизнес-логикой и т. Д., Вам очень редко приходится дотрагиваться до нее (и потенциально нарушать ее) снова.Если новый источник данных появится в сети, вам просто нужно написать новый фрагмент кода, чтобы перевести его в универсальный формат.Как только он в этом формате, вы знаете, что ваш процесс импорта будет обрабатывать его правильно.
Опять же, как вы будете переводить (или «преобразовывать») данные, будет зависеть от того, что вы используете для тяжелой работы в вашемСистема ETL.Если вы используете промежуточную базу данных, то имеет смысл поместить ее в таблицу.Обычно вы хотите выполнить это преобразование при переходе от необработанных данных к универсальному формату.