BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс для бизнес-аналитиков » Актуальный словарь терминов по данным » DRY (Don't Repeat Yourself) в инженерии данных

DRY (Don't Repeat Yourself) в инженерии данных

Принцип DRY: улучшайте код, избегая повторений, с помощью принципа DRY (Don't Repeat Yourself).

 

В чем суть знаменитого принципа DRY, который так любят дата-инженеры?

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

  • Многократно используемые компоненты: выделение общей логики в модульные функции или переменные;
  • Единое представление: единое, авторитетное представление для каждой части логики;
  • Области использования: схемы баз данных, планы тестирования, системы сборки и документация;
  • Связанные принципы: принцип «один раз и только один раз» (once and only once), принцип «открыто/закрыто» (open/closed) и принцип «единой ответственности» (single responsibility).

 

Как принцип DRY может повлиять на эффективность проектов по работе с данными?

Применение принципа DRY в проектах по работе с данными в разы повышает их эффективность за счет сокращения числа повторений кода и логики, что, в свою очередь, упрощает сопровождение и обновление разработок. Централизуя логику и определения данных, специалисты по работе с данными шлифуют малейшие несоответствия, что в конечном счете приводит к ускорению циклов разработки и повышению надежности систем.

  • Удобство обслуживания: легко обновлять единый источник истины;
  • Согласованность: сокращение числа несоответствий и количества ошибок, допускаемых при работе с данными;
  • Эффективность: ускорение циклов разработки за счет минимизации прилагаемых усилий;
  • Надежность: обеспечивает надежность системы благодаря стандартизированным процессам.

 

Применение принципа DRY на практике

В инженерии данных принцип DRY применяется в следующих случаях: создание централизованных моделей данных, использование шаблонов для повторяющихся SQL-запросов, создание единого источника истины для определений данных и т.д. Эти и другие практики обеспечивают эффективное распространение изменений в логике или структурах данных по всей системе.

  • Централизованные модели данных: единая модель для схожих структур данных;
  • Шаблонные движки: шаблоны для генерации повторяющихся SQL-запросов;
  • Единый источник истины: централизованное поддержание авторитетных определений данных;
  • Эффективные обновления: усовершенствованное обновление и обслуживание всей системы.

 

Лучшие практики внедрения DRY в проекты по разработке данных

Для эффективной реализации принципа DRY в разработке данных сосредоточьтесь на выявлении общих шаблонов и логики, которые можно абстрагировать в многократно используемые компоненты. Используйте такие инструменты и практики, как контроль версий, модульное кодирование и непрерывная интеграция.

1. Модульное кодирование

Организуйте код в виде многократно используемых модулей, так Вы избежите проблемы дублирования.

 

2. Внедрение системы контроля версий

Поддерживайте единый источник истины для всех изменений кода.

 

3. Установите строгие правила присвоения имени

Обеспечьте последовательность и четкость кода и схемы данных.

 

4. Применяйте шаблонные движки для создания запросов

Используйте шаблоны для генерации повторяющихся SQL-запросов.

 

5. Создайте централизованную документацию

Поддерживайте единое хранилище для всей документации.

 

6. Автоматизируйте процессы тестирования и проверки

Внедрение автоматизированных тестов для обеспечения целостности кода и предотвращения регрессий.

 

7. Использование различных механизмов преобразования данных

Для последовательных и многократно используемых преобразований используйте специальные инструменты (например, DBT).

 

8. Разивайте культуру регулярного пересмотра кода

Поощряйте членов команды проверять работу друг друга на предмет дублирования.

 

9. Расставляйте приоритеты в работе по рефакторингу

Регулярно проводите рефакторинг кода для того, чтобы выявить и устранить дублирование.

 

10. Балансируйте между DRY и практичностью

Изучите случаи, когда строгое следование DRY может оказаться малоэффективным.

 

Самые распространенные ошибки, которых следует избегать при применении DRY в процессе проектирования данных

Хотя принцип DRY и направлен на оптимизацию разработки за счет сокращения дублирования, он все же связан с рядом трудностей, например, с риском создания слишком сложного, труднопонимаемого кода. Специалисты, выступающие против данного принципа, утверждают, что стремление к отсутствию дублирования может привести к преждевременным абстракциям, что сделает будущие модификации более сложными и более подверженными ошибкам.

1. Чрезмерная абстракция

Избегайте создания слишком сложных абстракций, которые запутывают логику.

 

2. Преждевременная оптимизация кода

Не стоит слишком рано оптимизировать код.

 

3. Игнорирование специфики контекста

Учитывайте уникальные требования каждого проекта или модуля.

 

4.Неправильное использование средств автоматизации

Убедитесь в том, что инструменты и скрипты не усложняют проекты.

 

5. Пренебрежение читаемостью кода

Поддерживайте удобочитаемость кода, сводя к минимуму дублирование.

 

6. Недостаточность документации

Внимательно документируйте назначение и функции абстрактных компонентов.

 

7. Пропуск тестирования

Убедитесь в том, что тесты отражают истинное текущее состояние кода, чтобы вовремя выявить дублирование.

 

8. Недооценка необходимости обучения команды

Инвестируйте средства в обучение членов команды принципам и инструментам DRY.

 

9.Слишком много специальных инструментов

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

 

10. Не упускайте из виду конечные цели

Помните, что Вашей конечной целью является предоставление эффективных и надежных решений для работы с данными.

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
DICOM
Следующая статья →
Изучение влияния темных данных
Запросить видео презентацию Запросить доступ к демо стенду online Узнать стоимость лицензий

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • КАМИ – компания-лидер по поставкам тяжёлых станков в России, занимающаяся продажей и обслуживанием оборудования для обработки металла и дерева, изготовления мебели и не только. На сегодняшний день в компании работают более 1300 человек, запущено 10 обучающих центров, в продаже более 7000 единиц техники. 

  • «Восток-Запад» – крупнейший поставщик продуктов в рестораны, кафе, гостиницы, кейтеринговые компании, столовые, комбинаты питания и кондитерские производства. 300+ городов регулярной доставки по всей территории России и странам СНГ; 3500+ товаров профессиональных брендов.

  • "Уральский банк реконструкции и развития" входит в топ-25 крупнейших банков России и список значимых кредитных организаций на рынке платежных услуг по версии ЦБ РФ.

  • AbbVie – компания, которая стремится решить самые серьезные проблемы здравоохранения. Это биофармацевтическая компания, сфокусированная на исследованиях и разработках.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.