В процессе построения бэкэнда архитектуры MMO-игрушки встал вопрос о работе с 3D объектами и пространством игрового мира
(всю логику игры пишу на серверной части)...
Например одна из задач:
Дана трехмерная система координат(игровой мир) на которой разбросаны точки в случайных координатах(персонажи). Нужно реализовать чат. Сообщение отправленное одним персонажем должно придти всем другим персонажам в определенном радиусе от отправителя.
Сейчас я использую
Elixir в качестве языка программирования, и
PostgreSQL в качестве основной БД.
Всегда можно, конечно, изобрести велосипед... но наверняка уже должны существовать замечательные инструменты для этих задач? Знаю, что существует
PostGIS, но что-то мне подсказывает что оно будет тормозить при большом количестве часто изменяемых данных(перемещение персонажей).
В качестве основных критериев рассматриваю(по приоритету, от самых важных):
- Масштабируемость и репликация. Желательно "из коробки".
- Быстродействие. Данные будут очень часто и быстро меняться.
Может кто сталкивался с подобными задачами? Как вы их решали и что использовали для решения?
Какую БД использовали для длительного хранения данных, а какую для работы в реальном времени?