В блоге dbt вышла (относительно давно, но я только сейчас дошёл) интересная заметка о том, как SDF реализует концепцию SQL comprehension.
SQL comprehension – это способность системы анализировать и интерпретировать SQL-код. Но это не единичная функция, а целая цепочка технологий, которые раскрываются по мере развития инструментария.
Самая популярная система, которая анализирует анализировать и интерпретировать SQL-код это база данных. Но вся идея SDF отделить понимание SQL от конкретной базы данных, что позволяет реализовать целую цепочку технологий с расширенными возможностями:
1/ Column-Level Lineage: отслеживание происхождения данных на уровне отдельных колонок.
2/ Предварительная валидация запросов: проверка корректности и логики SQL до отправки запроса в хранилище.
3/ Расширенный IntelliSense: интеллектуальные подсказки, ускоряющие разработку и повышающие качество кода.
SDF реализовал свой движка анализа SQL кода (парсинг, AST и семантический анализ выполняются вне базы данных) а также сделал несколько интересных инженерно-продуктовых решений, таких как предварительная валидация и улучшенный IntelliSense.
Почему создание глубокого уровня SQL comprehension оказалось сложной задачей?
Инструменты, анализирующие программный код, существуют давно, однако данные – это особая сфера. Они обладают «физичностью», зависят от схем, метаданных и динамических зависимостей, что делает задачу разработки продвинутого SQL comprehension куда сложнее.
Post #15
290
семантический слой Давно сюда не писал. Но пора исправляться, поэтому сегодня про dbt. dbt недавно похвастался, что преодолел $100M ARR, в основном за счёт роста клауд-продукта среди Enterprise-клиентов. 5,000 dbt Cloud customers, 30% year-over-year рост Средний чек — $20K…
