Что такое Data Contracts и почему это важно?
Бывало ли у вас так, что вы сделали дашборд или автоматический отчет в Excel, который отлично работал, но вдруг в один день перестал обновляться? Вы тратите несколько часов на разбор проблемы и выясняете, что в базе данных или другом источнике изменилась колонка или структура таблицы и из-за этого всё сломалось.
Чтобы избежать таких ситуаций, используют Data Contracts - Простыми словами, правила изменения источников данных которые заключают поставщик и потребитель.
Кто является поставщиком и потребителем данных?
Поставщик - дата-инженер, разработчик DWH, владелец источника данных.
Потребитель - аналитик, BI-разработчик, ETL-инженер.
Из чего состоит Data Contract?
-
Схема данных (типы данных, названия колонок).
-
Частота обновлений (как часто обновляются данные).
-Правила изменения данных (что можно менять, как это согласовывать).
Какие проблемы это решает?
-
Вы заранее знаете, какие изменения произойдут в источнике данных (например, переименование amount в new_amount) и успеете обновить свои отчеты.
-
Вы уверены, что форматы данных останутся неизменными, поэтому расчёты не сломаются.
-
Вы знаете периодичность обновления данных и можете строить отчеты, исходя из этого.
А как у вас?
Возникали ли у вас подобные проблемы? Как вы их решали? 🙂