🔹 Полная и инкрементальная загрузка: берём только новое 🔹 Как не перетаскивать таблицу целиком при каждом запуске? 🔸 Раз полная загрузка каждый раз переносит таблицу целиком, она просто и надёжно работает на небольших данных, но с ростом таблицы начинает занимать слишком много времени.

🔸 Инкрементальная загрузка забирает только строки, изменённые после прошлого запуска. Для этого нужна отметка вроде updated_at или растущего id: пайплайн берёт всё, что новее её значения.

🔸 Отметку последней загрузки пайплайн хранит у себя, например в таблице load_state, и сдвигает только после успешной записи. Если сдвинуть её раньше и запись упадёт, строки из этого куска при следующем запуске будут пропущены.

🔸 Удалённые в источнике строки по updated_at не видны: их просто не будет в выборке. Для них нужен отдельный механизм, например мягкое удаление с флагом или CDC.

-- отметку обновляем только -- после успешной записи SELECT * FROM orders WHERE updated_at > ( SELECT last_loaded_at FROM load_state WHERE table_name = 'orders' );

📚 Инкрементальная загрузка экономит время, но держится на надёжной отметке и понятном подходе к удалениям.

#CODERIKK #DE #Middle

➡️ Мы в Telegram - Сетке - ВК Буду рад вашей реакции здесь⬇️


В этом посте были ссылки, но мы их удалили по правилам Сетки

🔹 Полная и инкрементальная загрузка: берём только новое
🔹 Как не перетаскивать таблицу целиком при каждом запуске?
🔸 Раз полная загрузка каждый раз переносит таблицу целиком, она просто и надёжно рабо... | Сетка — социальная сеть от hh.ru