В настоящее время я на этапе разработки игры с MMO-браузером, в игру будут включены tilemaps для некоторых местоположений в реальном времени (так что данные плитки для каждой ячейки) и общая карта мира. Я предпочитаю использовать движок MongoDB для постоянного мира данных.MongoDB + Neo4J vs OrientDB vs ArangoDB
Я также смогу реализовать симуляцию доставки (которая я объясню ниже), которая в основном является модулем Dijkstra, я решил использовать базу данных графа, надеясь, что это упростит ситуацию, нашел Neo4j, поскольку он довольно популярен.
Я был доволен установкой MongoDB + Neo4J, но затем заметил OrientDB, который, по-видимому, действует как MongoDB и Neo4J (лучший из обоих миров?), Они даже имеют VS-страницы для MongoDB и Neo4J.
Точка зрения, я слышал некоторые ужасные истории MongoDB, теряющие данные (хотя и не уверен, что это так и есть), и у меня нет такой роскоши. И для Neo4J, я не большой поклонник 12K € в год «стартовой дружественной» стоимости, хотя у меня, вероятно, не будет DB миллионов миллионов вершин. OrientDB представляется жизнеспособным вариантом, так как могут быть некоторые возможности использования одного решения для базы данных.
В этом случае логический ход может быть переходом на OrientDB, но у него небольшое сообщество, и tbh не нашел много отзывов об этом, MongoDB и Neo4J - популярные широко используемые инструменты, у меня есть проблемы, если OrientDB - приключение ,
Мой первый вопрос был бы, если у вас есть опыт и мнение относительно этих баз данных.
И второй вопрос был бы тем, какой график базы данных лучше для симуляции доставки. Ожидается, что используемая база данных рассчитает самый дешевый маршрут от любой вершины до любой вершины и пересечет ее (классический Dijkstra). Но также приходится менять весы в зависимости от ситуаций, таких как «страна B имеет эмбарго на страну A, поэтому любой элемент, происходящий из страны A, не может пройти через B, есть наводнение в регионе XYZ, поэтому наземный транспорт невозможен» и т. Д. Также эта база данных как ожидается, будут кэшировать результаты. Я ожидаю не более 1000 вершин, но много ребер.
Заранее спасибо и извинения заранее, если вопросы немного неоднозначным
PS: Я добавил ArangoDB в названии, но ТБХ, было не так много шансов, чтобы взглянуть.
Late редактировать в 18-Apr-2016: После оценки ответов на мои вопросы и стратегии развития, я решил использовать ArangoDB как их дорожная карта является более перспективным для меня, как они, видимо, не пытаясь добавить тонны обмана функции, которые наполовину испечены.
Вы также можете взглянуть на бэкэнд JSON/REST для Structr (https://structr.org, это также с открытым исходным кодом). Это в основном превращает Neo4j в базу данных документа. Отказ от ответственности: Я являюсь инициатором проекта. –
На каких языках вы будете работать? Вы также должны учитывать размер сообщества каждой базы данных, насколько легко вы сможете найти совместимые пакеты, качество документации и зрелость драйверов. MongoDB является зрелым во всех аспектах, и Neo4j (который я использую и рекомендую), вероятно, второй. Как сказал Майкл Хунгер, не пугай страницу лицензирования. – subvertallchris
@subvertallchris: Текущий план - использовать node.js и laravel, но может переключиться на чистое решение JS. – projectUnduli