Проектирование долговечных систем обработки данных

В этой статье вы узнаете, как четыре принципа — надежная архитектура, возобновляемость, восстанавливаемость и избыточность — повышают надежность конвейеров данных ИИ и МО.

Поскольку приложения ИИ и машинного обучения продолжают распространяться, конвейеры данных, которые их поддерживают, стали более критически важными, чем когда-либо. Поскольку приложения расширенной генерации (RAG) и системы ИИ в реальном времени становятся нормой, любой сбой в конвейере данных может привести к устаревшим идеям, неоптимальной производительности модели и завышенным расходам на инфраструктуру.

Работа в этой области научила разработчиков компании DST Global, что даже незначительные провалы в надежности системы снабжения могут перерасти в крупные сбои. Чтобы бороться с этим, разработчики DST Global полагаются на структуру, которую называют 4 R надежности система снабжения: надежная архитектура, возобновляемость, восстанавливаемость и избыточность. Вот как каждый элемент способствует созданию систем данных, которые действительно долговечны.

R1: Надежная архитектура

Проблема

Как обеспечить отказоустойчивость потоковых потоков данных?

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

Ключевые принципы

- Четкие фазы: разделите преобразования на отдельные этапы, чтобы повысить ясность и модульность.

- Сегментация области отказов: группируйте тесно связанные операции (например, все вызовы OCR), чтобы они могли дать сбой одновременно, не влияя на несвязанные компоненты.

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

- Контракты данных и проверка: Обеспечьте строгие правила проверки и реализуйте контракты данных на каждом интерфейсе.

- Масштабируемость и оптимизация затрат: спроектируйте многоуровневую архитектуру, чтобы масштабировались только необходимые части, контролируя затраты.

Показательный случай

В конвейере, структурированном как каскадная цепочка (A → B → C), мы внедрили динамические элементы управления флагами функций и разработали систему мониторинга работоспособности. Это позволило автоматически переупорядочивать сервисы на основе метрик в реальном времени.

Влияние

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

- Автоматическое изменение маршрута обеспечивает бесперебойную работу и производительность системы.

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

Ключевое обучение

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

R2: Возобновляемость

Проблема

Как вернуться к последнему известному работоспособному состоянию после сбоя?

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

Ключевые принципы

- Стратегические контрольные точки: размещайте контрольные точки после высокозатратных операций, таких как встраивание, OCR или запросы к моделям ИИ.

- Сохранение состояний: сохраняйте промежуточные состояния только при необходимости, чтобы избежать раздувания затрат на хранение.

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

- Эффективность хранения: используйте поэтапные или временные контрольные точки, чтобы сбалансировать стоимость и надежность.

Показательный случай

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

Влияние

- Более 80% конвейеров избежали избыточной обработки.

- Использование хранилища было значительно сокращено.

- Система достигла более высокой надежности без ущерба для эффективности использования ресурсов.

Ключевое обучение

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

R3: Восстанавливаемость

Вопрос

Что происходит, когда что-то ломается?

Каждый конвейер в какой-то момент должен выйти из строя. Ключевым моментом является быстрое и эффективное обнаружение, диагностика и восстановление после сбоев.

Ключевые принципы

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

- Обнаружение ошибок и оповещение: систематическая классификация ошибок и автоматизация оповещений.

- Автоматическое восстановление: внедрение механизмов повторных попыток с экспоненциальной задержкой и четкой документацией для ручных этапов восстановления.

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

Показательный случай

Чтобы лучше отслеживать сложные потоки данных, мы использовали Prefect и улучшили маркировку задач конвейера.

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

Влияние

- Более быстрое выявление точек отказа.

- Сокращение времени принятия решения благодаря детальной видимости.

- Улучшена прозрачность системы для инженерных групп.

Ключевое обучение

Структурированное ведение журнала и отслеживание потока в реальном времени имеют решающее значение для масштабируемых и удобных в обслуживании система снабженияных систем.

Пример из практики: отслеживание потока с помощью Prefect

Испытание

Сложность мониторинга сложных конвейеров данных.

Решение

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

Влияние

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

Основное обучение

Структурированное ведение журнала и отслеживание потоков являются обязательными для поддержки разработчиков при масштабировании и обслуживании систем на основе конвейеров.

R4: Избыточность

Вопрос

Как обеспечить непрерывную работу даже в случае выхода из строя компонентов?

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

Ключевые принципы

- Несколько путей обработки: используйте начальный ускоренный путь для немедленного вывода и фоновый путь для обогащения.

- Альтернативные варианты обслуживания: Интеграция нескольких поставщиков услуг для обеспечения возможности отката.

- Плавная деградация: определение режимов деградации, которые позволяют системе функционировать приемлемо даже в случае отказа.

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

Показательный случай

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

Влияние

- Пользователи получали мгновенные результаты, что сокращало задержки.

- Качество данных со временем улучшилось без нарушения работы пользователей.

Система успешно справилась с перебоями в обслуживании.

Ключевое обучение

Несколько путей обработки оптимизируют компромисс между скоростью и качеством данных.

Заключение: строительство долговечных систем снабжения

Надежность в конвейерах данных — это не второстепенная мысль, это продукт преднамеренных решений в дизайне. Структура 4 R — надежная архитектура, возобновляемость, восстанавливаемость и избыточность — обеспечивает комплексный подход к построению устойчивых систем, которые обеспечивают будущее ИИ и МО.

Практические дальнейшие шаги

- Начните с аудита существующих конвейеров. Определите, где происходит потеря данных или неэффективность.

- Реализуйте каждый из четырех принципов постепенно, начиная с областей, которые обеспечат наибольшее повышение надежности.

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

- Рассмотрите такие инструменты, как Prefect, Airflow или другие платформы оркестровки, чтобы оптимизировать и автоматизировать рабочие процессы.

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

Проектирование долговечных систем обработки данных
Получить консультацию у специалистов DST
Напишите нам прямо сейчас, наши специалисты расскажут об услугах и ответят на все ваши вопросы.
Комментарии и отзывы экспертов
RSS
17:33
+3
Для проектирования долговечных систем обработки данных в контексте приложений ИИ и машинного обучения рекомендуется следовать структуре 4 R:

— Надежная архитектура. Каждый этап системы должен быть чётко определён, с чёткими границами и понятным доменом отказа.
— Возобновляемость. Необходимо обеспечить возможность возобновления обработки данных, например, использовать начальный ускоренный путь для немедленного вывода и фоновый путь для обогащения.
— Восстанавливаемость. Важно быстро и эффективно обнаруживать, диагностировать и восстанавливать систему после сбоев. Для этого нужно структурированно вести журнал, систематически классифицировать ошибки и автоматизировать оповещения, внедрить механизмы повторных попыток.
— Избыточность. Следует определить режимы деградации, которые позволяют системе функционировать приемлемо даже в случае отказа. Также нужно балансировать нагрузку, распределяя рабочие нагрузки по избыточным ресурсам, чтобы избежать узких мест.
Было бы замечательно, еще написать конкретные практические шаги по проектированию
17:35
+2
Некоторые практические шаги по проектированию долговечных систем обработки данных:

— Аудит существующих конвейеров. Нужно определить, где происходит потеря данных или неэффективность.
— Постепенная реализация принципов. Начинать следует с областей, которые обеспечат наибольшее повышение надёжности.
— Постоянное измерение ключевых показателей. К ним относятся время восстановления, эффективность обработки и эксплуатационные расходы.
— Использование инструментов. Можно рассмотреть Prefect, Airflow или другие платформы оркестровки, чтобы оптимизировать и автоматизировать рабочие процессы.
Действительно впечатляющая статья, которая затрагивает одну из самых острых проблем современной разработки — создание устойчивых систем обработки данных. Особенно актуально то, как авторы подчеркивают критическую важность конвейеров данных в эпоху стремительного развития ИИ и машинного обучения. Поражает, насколько даже незначительные сбои могут привести к серьезным последствиям — от устаревших результатов до неоправданно высоких затрат на инфраструктуру. Особенно ценным представляется подход компании DST Global с их концепцией 4R, которая, судя по всему, основана на глубоком практическом опыте и реальных вызовах, с которыми сталкиваются разработчики.
Отличная работа над материалом! Особенно интересно наблюдать, как индустрия приходит к пониманию того, что надежность систем данных — это не просто дополнительный бонус, а критически важный фактор успеха современных приложений. Особенно впечатляет акцент на четком проектировании архитектуры и понимании доменов отказов — это именно то, что часто упускается из виду при разработке, но становится жизненно необходимым при масштабировании. Очень перспективно выглядит подход с разделением преобразований на отдельные этапы — это не только повышает модульность системы, но и значительно упрощает её поддержку и развитие в будущем.
Вам может быть интересно
Dark data — это огромные объемы неструктурированной информации, собираемой организациями, которая часто остается неиспользованной. Сюда входят электронные письма, взаимодействия с клиентами, дан...
продолжает развиваться, но он по-прежнему стремится к масштабируемости, произво...
Развитие интеллектуальных приложений переживает эк...
В настоящее время существует множество способов хо...
Ежедневно в мире генерируется 402,7 миллиона тераб...
Без сервера без особых усилий масштабируется от ну...
Наблюдение за Kubernetes в гибридных облачных сред...
В 2025 г. рынок облачных сервисов ожидают серьезны...
требует тщательного планирования. Данная статья о...
Мы сталкиваемся с огромными объемами информации, в...
Используя возможность компоновки, организации могу...

Новые комментарии

Запуск MVP маркетплейса — это искусство найти баланс между минимальным функциона...
Хочу поделиться своим опытом запуска MVP маркетплейса, который, надеюсь, будет п...
Хочу поделиться своим опытом запуска MVP маркетплейса, который, надеюсь, будет п...

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

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

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон