В настоящее время я на этапе разработки MMO-браузера, игра будет включать в себя tilemaps для некоторых мест в реальном времени (так что данные плитки для каждой ячейки) и общая карта мира. Я предпочитаю использовать движок MongoDB для постоянного мира данных.
Я также смогу реализовать симуляцию доставки (которую я объясню ниже), которая в основном является модулем Dijkstra, я решил использовать графическую базу данных, надеясь, что это упростит ситуацию, и нашел Neo4j, поскольку он довольно популярен.
Я был доволен настройкой MongoDB + Neo4J, но затем заметил OrientDB, который, по-видимому, действует как MongoDB и Neo4J (лучший из обоих миров?), они даже имеют VS-страницы для MongoDB и Neo4J.
Точка, я слышал некоторые ужасные истории о том, что MongoDB потерял данные (хотя и не уверен, что это так и есть), и у меня нет такой роскоши. И для Neo4J, я не большой поклонник 12K € в год "стартовой дружественной" стоимости, хотя у меня, вероятно, не будет DB миллионов миллионов вершин. OrientDB представляется жизнеспособным вариантом, так как могут быть некоторые возможности использования одного решения для базы данных.
В этом случае логический ход может перескочить на OrientDB, но у него небольшое сообщество, и tbh не нашел много обзоров об этом, MongoDB и Neo4J - популярные широко используемые инструменты, у меня есть проблемы, если OrientDB - это приключение.
Мой первый вопрос будет, если у вас есть какой-либо опыт/мнение относительно этих баз данных.
И второй вопрос был бы тем, что Graph Database лучше для моделирования доставки. Ожидается, что используемая база данных рассчитает самый дешевый маршрут от любой вершины до любой вершины и пересечет ее (классический Dijkstra). Но также приходится менять весы в зависимости от ситуаций, таких как "страна B имеет эмбарго на страну A, поэтому любой элемент, происходящий из страны A, не может пройти через B, есть наводнение в регионе XYZ, поэтому наземный транспорт невозможен" и т.д. Также эта база данных как ожидается, будут кэшировать результаты. Я ожидаю не более 1000 вершин, но много ребер.
Спасибо заранее и извиняюсь заранее, если вопросы немного неоднозначны
PS: Я добавил ArangoDB в заголовок, но tbh, не имел большого шанса взглянуть.
Позднее редактирование с 18 апреля по 2016 год: после оценки ответов на мои вопросы и стратегии развития я решил использовать ArangoDB, поскольку их дорожная карта более перспективна для меня, поскольку они, по-видимому, не пытаются добавить тонны функций шумихи, которые наполовину запеченные.