Ami*_*lgi 7 java graph relationship graph-traversal data-structures
我有一个问题,我需要在循环图上执行CRUD操作.现在我知道那里有一堆图形数据库,但我有一组特定的用例,这些用例在这些数据库中不受支持(或者至少我不知道它们).
以下是我的构造:
以下是我可以拥有的功能:
现在我明白所有这一切都可以通过关系数据库来完成,这将确保关系完好无损并且查询很简单.但是当存在复杂的图形并且要更新这些图形的多个时,性能将受到影响.
所以,我想知道是否存在一种混合/更好的方法来存储,检索和更新这些图表,与关系数据库相比,这种方法会快得多.
任何想法都会非常有用.提前致谢!
我不会隔离图形数据库。您可以使用满足您需求的额外属性/节点/连接,轻松地自己构建缺失的功能。
\n例如,为了创建一个组,您可以创建一个带有某些 prop 的节点,该节点与属于该组的所有节点type:Group共享相同的。groupId
Group另一种选择是让小组成员与他们的:建立额外的联系Node-belongsToGroup->GroupNode。
在上述任何解决方案中,要将一个Node/连接Group到另一个Group,只需要创建一个指向该Group节点的连接。
定义也是如此,例如Node-isOfType->DefinitionNode。然后updateDefinition将更新属于该的所有节点Definition。
基于以上内容,我认为创建一个如下所示的 api 会很容易:
\ncreateGroup\nisGroup\naddNodesToGroup\ncreateDefinition\nupdateDefinition\nsetNodeDefinition\ngetNodeDefinition\nRun Code Online (Sandbox Code Playgroud)\n就可扩展性而言,您可以检查 OrientDb:分布式架构/与 neo4j 的比较
\n\n\n\n...只有一台服务器可以作为主服务器,因此 Neo4j 写入吞吐量仅限于单个主服务器的容量。这意味着 Neo4j 无法在写入时进行扩展。
\n相反,OrientDB支持多主+分片架构:所有服务器都是主服务器。吞吐量不受单个服务器的限制。对于OrientDB,全局吞吐量是所有服务器吞吐量的总和。
\n
| 归档时间: |
|
| 查看次数: |
110 次 |
| 最近记录: |