Масштабирование пакетной обработки
Концепции потоковой обработки
Mike Metzger
Data Engineer
Что такое масштабирование?
Повышение
производительности
Ускорение обработки
Меньше времени на тот же объём данных
Обработка большего объёма данных
Больше данных за то же время
Вертикальное масштабирование
Улучшение оборудования
Более быстрый CPU
Более быстрый IO
Больше памяти
Как правило,
наиболее простой
способ масштабирования
Минимальная сложность
Редко требует изменения программ или алгоритмов
1
Изображения предоставлены https://unsplash.com/@jeremy0
Недостатки вертикального масштабирования
Имеет
принципиальные ограничения
Может быть
дорогостоящим
/ с низкой отдачей
Улучшения со стороны индустрии
не гарантированы
Горизонтальное масштабирование
Разбиение
задачи на несколько частей
Больше компьютеров
Или больше CPU
Лучше всего подходит для
«легко распараллеливаемых»
задач
Задач, которые легко распределить между исполнителями
Может быть очень
экономичным
Для ряда процессов даёт
почти линейный прирост производительности
Недостатки горизонтального масштабирования
Сложность
Требует фреймворка обработки (например, Apache Spark или Dask)
Требует развитой сетевой инфраструктуры
Постоянное управление
Может быть
дорогостоящим
в зависимости от требований
«Непараллельные»
задачи
Давайте потренируемся!
Концепции потоковой обработки
Preparing Video For Download...