2024-04-22 12:22:01
Все дороги ведут к базам данныхЕсть теория, что эволюция рано или поздно всех живых существ превращает в крабов. На самом деле только членистоногих, но это уже не так смешно звучит.
А вот Тайлер Клотье, основатель Clockwork Labs, написал про то, что если вы придерживаетесь дата-ориентированного подхода в программировании, все, что вы делаете, рано или поздно превратится в базу данных. Этакий краб от мира данных, идеальная форма, к которой стремится эволюция.
Компания Тайлера разработала SpacetimeDB и даже сделала на ее основе игру, так что можно предположить, что он в этом вопросе несколько пристрастен. Но его опыт позволил предложить интересный взгляд на данные.
Для интересующихся добавили ссылки на полезные статьи по теме.
Дата-ориентированное проектирование (data-oriented design, DOD) — это подход к программированию, нацеленный на максимально эффективную организацию хранения и обработки данных. Он часто применяется при разработке игр.
В основе DOD лежит принятие того факта, что
цель любой программы — трансформация данных, а наша цель — найти лучший способ, как эту трансформацию произвести. Один из примеров DOD — это Entity Component System или ECS, архитектурный паттерн, который также используется в разработке игр. Он строится на сущностях (Entity), которым присваиваются свойства или компоненты (Component). Система (собственно, System) — это логика, по которой сущности взаимодействуют.
Тайлер показал, что ECS — это
разновидность реляционной модели данны, и продемонстрировал, как кусок кода, написанного согласно ECS, можно воспроизвести в PostgreSQL.
У ECS есть свои внутренние ограничения, из-за которых его бывает не слишком удобно использовать вне разработки игр. Но суть не в этом, а в том, что он показывает, как любую программу и даже игру можно воспринимать как базу данных и к разработке подходить соответственно.
В общем, данные — прежде всего.
41.8K views09:22