🔍 ETL с помощью SQL: Инкрементальная загрузка 🔍 ✨ В отличие от полной перезагрузки (Full Reload), описанного в этом посте, инкрементальная загрузка перемещает только новые или обновленные данные. Это экономит ресурсы и время, особенно при работе с большими объемами данных. Давайте поговорим о ключевых этапах этого процесса: 1️⃣ Определение инкремента данных Инкремент - набор данных, которые нужно загрузить. Он может определяться как набор новых строк в источнике, так и набор строк с обновленными значениями. Для определения инкремента обычно используются поля со смыслом как "дата обновления записи", "дата создания записи" и др. с похожим смыслом, по которым можно сделать выборку нужного инкремента. Пример выделения инкремента из таблицы source по условию, что поле update_date имеет сегодняшнюю дату SELECT * FROM source s WHERE update_date = CURRENT_DATE() 2️⃣ Вставка инкремента в target таблицу Пример запроса может выглядеть так: INSERT INTO target SELECT * FROM source s WHERE update_date = CURRENT_DATE(); Здесь есть нюанс, что в таблицу target попадут все записи инкремента и останутся те, которые были уже в таблице например под одним и тем же id. Таким образом может собираться накопительная историческая таблица, например с продажами. К примеру в таблице target уже была запись по продаже с id = 5 и status = 'buy'. А в новом инкременте из source прилетит обновленная строка с id = 5 и status = 'cancelled'. Таким образом в target будет зафиксирована вся история обновления строк. Если в target таблице нужно оставить только актуальную версию данных без исторического состояния, такой способ я распишу в одном из следующих постов этой серии. Оставляйте реакции, если пост был полезен 😉
06:44
1,0×
00:00/06:44
389,4 тыс смотрели · 4 года назад
2562 читали · 1 год назад
Примеры простых SQL запросов для начинающих программистов
Помнишь, как мы с тобой недавно обсуждали, что такое СУБД и язык SQL? А хочешь за 15 минут узнать, как устроены самые простые SQL-запросы? Тогда сразу поделюсь небольшим секретом - язык SQL устроен очень просто! При этом, его знание открывает тебе большие красивые двери в мир практической работы с базами данных. В отличие от программирования, где существуют сотни различных языков и тысячи частных особенностей, язык SQL имеет единый, плюс-минус универсальный стандарт. В общем и целом, изучение простых SQL-запросов вполне укладывается в пару недель, включая практику...