Anybody with experience in using graph db with complex traversal? AND use it from Erlang? Advantages? Small print?
It seems that default choice is neo4j for some reason.
I like Phoebus (distributed graph querying in Erlang, based on Google's Pregel algorithm), but it seems to be abandonware..
Graph databases offer specialized algorithms to analyze the relationships of data. The simplest algorithm is a so-called graph traversal. A graph traversal begins to traverse the graph beginning at a defined start vertex and ends at a defined depth with the end vertex.
Azure Cosmos DB is a fully managed graph database that offers global distribution, elastic scaling of storage and throughput, automatic indexing and query, tunable consistency levels, and support for the TinkerPop standard. The serverless capacity mode is now available on Azure Cosmos DB's Gremlin API.
There are two popular models of graph databases: property graphs and RDF graphs. The property graph focuses on analytics and querying, while the RDF graph emphasizes data integration. Both types of graphs consist of a collection of points (vertices) and the connections between those points (edges).
Have a look at OrientDB which is a good alternative to Neo4J. OrientDB is fully open-source, contrary to Neo4J which has a commercial license. Also, OrientDB supports the standard blueprints API and is based on RB-Tree algorithms that are very well performing for various graph use-cases.
What most of the graph databases have in common is that they scale up only. They can scale-out, although as read-only instances in general. This means that if your amount of data is excessive you will need a very large server as well ( memory and storage ).
A distributed graph alternative is Titan. Titan is a distributed graph database, which I believe is based on Hadoop. Titan is designed to scale-out and can offer an interesting approach for massive paralelism, with some overhead. There are use cases where this is more appropriate, such as similar to Google Pregel use cases.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With