📝 Продолжаем тему про распространение описаний колонок по связям data lineage. Если вы хотите реализовать такое в каталоге данных, вот какие над какими моментами придется задуматься:

📌 Детали распространения в зависимости от типа связи. Если колонки связаны 1 к 1 - тут все просто, берем из источника, распространяем для получателя. Если 1 ко многим - чуть сложнее, но, вроде бы, аналогично предыдущему случаю. Ну а если многие к 1 (или ко многим) - тут, скорее всего распространить не получится из-за существующей неопределенности.

📌 Какие именно описания распространяются? Предстоит определиться, распространяется ли только описание сделанное пользователем через интерфейс или также полученное из источника? Также нужно подумать на тем, как эти два типа описаний живут вместе - какое из них приоритетнее для отображения и в каких случаях?

📌 Что происходит при включении/выключении распространения? Если распространение выключается - остаются ли ранее распространенные описания или удаляются? При включении - начинают ли распространяться только те, которые изменились/обновились после включения или все существовавшие до этого?

📌 Что происходит при удалении описания "родителя"? Будут ли распространенные ранее описания оставаться или тоже удалятся?

📌 Применение распространенных описаний Будут ли они доступны пользователям сразу после распространения или же только после ручной валидации кого-то из владельцев датасета?

📌 Как будет (и будет ли) реализован откат распространенных описаний? В случае, если произошло ошибочно произошло распространение описаний, его может быть необходимо массово отменить.

📌 Хранить ли распространенные описания "физически" или использовать их только для отображения в момент открытия страницы пользователем? Если описания не хранить "физически", реализация для некоторых из вышеперечисленных вопросов может стать проще, но часть сценариев реализовать не получится.

Также сложности может добавить то, что описанные выше вопросы могут возникать в различных комбинациях. 😳

Но, несмотря на все сложности, реализация распространения описаний все еще выглядит потенциально полезной функциональностью для каталога данных.