SYSTEM ATLASЗагрузка материала

Data-Oriented Design

Data-Oriented Design

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

Простыми словами

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

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Решение принимают без учета механизма «Data-Oriented Design», оценивая только ближайший эффект.

Системный подход

Перед изменением проверяют, как «Data-Oriented Design» влияет на ограничения, стимулы, зависимости и вторичные последствия.

Ограничения

«Data-Oriented Design» объясняет только часть происходящего в области «Производительность». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Richard Fabian, “Data-Oriented Design”, 2018.

Первоисточник