I am new to the NoSQL scene. I am trying to understand the possibilities and differences between the various graph databases. I understand that Orient and Arango use documents as vertices (as well as edges too)? I know that in Titan and Neo, vertices and edges can have properties and that these properties are key: value pairs. It makes sense to me that you can restrict values ββto primitives (although I don't know that this is strictly so). I wonder what you can have as a value. Could your value be an array of primitives? Maybe this is another hash? etc. If the values ββare not limited, then I wonder how Titan or Neo really differ from Orient and Arango in terms of how to structure your data.
edit: People ask about my use case. My company has developed a tool chain that creates working applications (GUIs and databases) from UML models ... in seconds. We use these tools to simulate a number of different domains (regardless of who the client is using) and develop solutions for them. Currently, the tool uses ORDBM. It has its drawbacks, some of which are showstoppers, if my thoughts on how we should evolve mean anything. I try to exercise due diligence in exploring alternatives. I can agree that nothing is perfect and that everything we choose will not be the best choice for every use of the client. Due to the automation involved, we may not necessarily use every function that a particular db offers, or in each case. So, I suppose I'm trying to decide which db will work well for our toolkit. (Note also that the original question asked here is just one of many decisive factors.) Oh yes, FWIW, we do Ruby. We could switch to Python or Groovy or something else, but that would be far from trivial.
source share