M
M
MagicMoments2014-09-07 20:17:54
NoSQL
MagicMoments, 2014-09-07 20:17:54

DBMS for a startup: (ArangoDB | OrientDB) + MongoDB(GeoIndexes), what to choose?

I am choosing a DBMS for a startup, there are the following requirements:
1) Support for GeoSpatial indexes and queries, not only by points, but also with polygons
2) The ability to embed objects to avoid unnecessary requests for entities (Document-oriented)
3) Where there is no possibility to embed objects, work with Document refs without a bunch of unnecessary requests (eg, a list of friends)
4) Replication, Sharding etc
MongoDB was the first option, due to excellent GeoIndexes and the ability to work with different geometric shapes. But with a large number of Doc refs in one array and the need to load these documents, there will be many restrictions that are not allowed in the application.
Therefore, the next option was Neo4j, because. had a great experience with the community version. Doc refs will thus be links, and everything will be generally gorgeous, and modeling is easier, and clustering is not difficult. But the price of the commercial version of $12k does not suit.
There are multi-model DBs that combine the features of doc-oriented and graph DBs. More specifically, the choice is between ArangoDB and OrientDB. But their GeoIndexes don't allow you to work with polygons, only points. I also doubt their reliability, new products after all.
Does anyone have experience using the above DBMS? Are they ready for full commercial use?
If there are more options, even including RDBMS, then I really want to know them :)
Thanks in advance for any advice and criticism :)

Answer the question

In order to leave comments, you need to log in

2 answer(s)
K
Konstantin Osipov, 2014-12-04
@kostja

Tarantool has everything you need, polygons and points in geo-index, JSON support, secondary keys.
There is no built-in sharding yet, but judging by the fact that you have Neo4J on the list, this is not critical

S
s1dney, 2014-09-07
@s1dney

OrientDB was praised here, it seems to work, but I wouldn’t roll it out in production, it’s scary.
If you have a startup - feel free to try both, as long as there is not enough data, you can try it all and migrate, if necessary.
And on the count of 2-3, if I were you, I would separate all the relational data right now and shove it into postgres, because otherwise you are condemning yourself to a lot of problems and "unconventional" solutions to solve these problems. And then transfer everything else to mongo and you will be happy.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question