I contacted firstname.lastname@example.org to ask for clarification and the answer they gave is that:
There is a limit on node count and relationship count of 34Bn each
The 34bn limit doesn't apply to Neo4j Enterprise
The release announcement for 3.0 mentions a 34bn limit that no longer applies:
Dynamic pointer compression expands Neo4j’s available address ...
With the given information, I find it difficult to give you a simple answer. As you have discovered, data can be hierarchical with many different logical groupings that could work.
Here is a checklist of things you can do to get a better answer for yourself:
What are the full set of queries you will want to do? (Among your
schema options, which one(s) ...
How can I model this in a graph database like Neo4j?
Modeling neo4j graphs from relational data is quite simple:
Decide your vertexes (nodes, objects) and edges (relationships).
Convert relational data to cypher, declaring all items and all relationships explicit.
Note: Mapping from relational to graph could take only selected entities from relational ...
SQL Server's graph capabilities are -- how can I put this nicely -- limited. At the moment it is really just a little syntactic sugar in the new MATCH clause. There is no support for any serious graph-oriented algorithm. To achieve your goals you will end up using recursive CTEs, which do not play nicely with MATCH. While a solution is possible it will not ...
You ask two different questions here:
[W]hen should I use a clustered version for a graph database?
This one is easy: as soon as your scalability or availability requirements cannot be met by One Giant Server.
[G]raph databases work best in a single server configuration[...] What is the reason for this statement?
Looking at the full book quote you ...
The question is somewhat unclear:
If you have three different nodes, then the edges drawn between any two nodes is not the same as the other. You can assign labels to edges in Neo4j such as "connects_to":
The edge a~b is still a different edge to b~c, though they "share" the same label. You might be ...
Graph databases are largely irrelevant. What matters is the graph processing engines that use them. For that a dedicated graph database is not necessary: graphs can be represented in any sorts of stores: relational database, "nosql" databases (HBase, ...). Or even flat file structures. Some graph processing engines include their own dedicated graph store (...
I believe every implementation of a graph will vary on how they go about writing and reading from the disk.
On page 2, section 2.2 of Dgraph: Synchronously Replicated, Transactional and Distrubuted Graph Database by Manish Jain, Data Storage discussion is introduced with:
Dgraph data is stored in an embeddable key-value database
called Badger for data input-...