Перейти к содержимому

dbt против хранимых процедур! Стоит ли переносить ваш SQL на dbt?

The Data and AI Guy

0:00 / 0:00

dbt против хранимых процедур! Стоит ли переносить ваш SQL на dbt?

1 840 просмотров · 2 нед. назад
The Data and AI Guy
31,1 тыс. подписчиков
1 840 просмотров · 2 нед. назад
Сейчас 2 часа ночи, и ночная хранимая процедура остановилась на шаге 14 из 20. Шаги с 1 по 13 уже зафиксированы. Безопасно ли просто запустить её снова? Это сравнение dbt и хранимых процедур на одних и тех же данных, выполненное в реальном режиме на Postgres. Хранимая процедура — это список шагов, изменяющих таблицы; модель dbt — это оператор SELECT, описывающий содержимое таблицы, упорядоченный по ref() и source(). Мы преобразуем 20-шаговую процедуру в шесть моделей dbt, шаг за шагом, следуя руководству по миграции dbt: INSERT становится моделью, UPDATE — CASE, DELETE — фильтром, а MERGE — инкрементальной моделью с уникальным ключом. Затем проводится сравнение по тестированию, отслеживанию происхождения, восстановлению и анализу кода, включая то, что происходит при повторном запуске неудачной ночной процедуры (процедура удваивает дневную выручку, повторная попытка dbt — нет). Наконец, два типа процедур, которые dbt не следует заменять, лазейки для обхода ограничений dbt и вердикт. ⏱️ Разделы 0:00 - Шаг 14 из 20 завершился с ошибкой в ​​2 часа ночи 1:00 - Что такое хранимая процедура на самом деле 2:10 - Как работает модель dbt: SELECT плюс ref() 3:12 - Шаги против состояния: реальная разница 4:23 - Преобразование INSERT, UPDATE, DELETE и MERGE 6:17 - Сравнение: тестирование и происхождение 7:11 - Восстановление: повторный запуск неудачной ночи 8:03 - Проверка кода и CI 8:34 - Когда хранимые процедуры все еще выигрывают 9:52 - Ловушки для обхода ограничений dbt: хуки и операция выполнения 10:21 - Вердикт: мигрировать или оставить? 11:27 - Краткий обзор 12:00 - Честные ограничения 🔗 Ссылки dbt: https://www.getdbt.com Руководство dbt по миграции с хранимых процедур: https://docs.getdbt.com/guides/migrat... dbt audit_helper: https://hub.getdbt.com/dbt-labs/audit... tSQLt: https://tsqlt.org PostgreSQL: https://www.postgresql.org SQL Server SET XACT_ABORT: https://learn.microsoft.com/en-us/sql... #dbt #dbtvsstoredprocedures #storedprocedures #SQL #SQLServer #Postgres #TSQL #datatransformation #ETL #ELT #инкрементальныемодели #инженернаяподготовкаданных #аналитическаяинженерия #конвейерданных #миграцияdbt