Задать вопрос
@MagicMoments

DBMS для стартапа: (ArangoDB | OrientDB) + MongoDB(GeoIndexes), что выбрать?

Подбираю СУБД для стартапа, есть следующие требования:
1) Поддержка GeoSpatial индексов и запросов, не только по точкам, но и с полигонами
2) Возможность встраивать объекты, что бы избежать лишних запросов по сущностям (Document-oriented)
3) Где нет возможности встраивать объекты, работать с Document refs без кучи лишних запросов (e.g., список друзей)
4) Replication, Sharding etc

Первым вариантом была MongoDB, за счет отличных GeoIndex'ов и возможностью работать с разными геометрическими фигурами. Но при большом количестве Doc refs в одном массиве и необходимости подгружать эти документы будет множество ограничений, которые не допустимы в приложении.

Поэтому следующим вариантом был Neo4j, т.к. был большой опыт работы с community версией. Doc refs таким образом будут связями, и все будет вообще шикарно, и моделировать проще, и кластеризация не сложная. Но цена коммерческой версии в $12k не устраивает.

Остались multi-model DBs, совмещающие в себе возможности doc-oriented и graph DBs. А конкретнее, выбор стоит между ArangoDB и OrientDB. Но их GeoIndex'ы не позволяют работать с полигонами, только точки. Также сомневаюсь в их надежности, новые все-таки продукты.

Есть ли у кого-нибудь опыт использования оговоренных выше СУБД? Готовы ли они уже к полноценному коммерческому использованию?
Если есть еще варианты, даже включающие RDBMS, то очень хочу их узнать :)

Заранее спасибо за любые советы и критику :)
  • Вопрос задан
  • 4157 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
kostja
@kostja
Разработчик СУБД Tarantool
В Tarantool есть всё что вам нужно, полигоны и точки в geo-index, поддержка JSON, вторичные ключи.
Пока нет встроенного шардинга, но судя по тому что у вас в списке есть Neo4J, это не критично
Ответ написан
Комментировать
@s1dney
OrientDB мне тут нахваливали, оно вроде бы работает, но в продакшен такое выкатывать я бы не стал, страшно.
Если у вас стартап - смело пробуйте и то и другое, пока данных мало вы сможете это все попробовать и мигрировать, если в этом будет необходимость.

И на счет 2-3, я бы на вашем месте отделил прямо сейчас все реляционные данные и запихнул их в постгрес, потому что иначе вы обрекаете себя на множество проблем и "нетрадиционных" решений, чтобы эти проблемы решить. А потом все остальное перенесете в монгу и будет вам счастье.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы