我使用 GrapheneDB 来托管我的 neo4j 数据库 (db)。
问题
我有 N
客户并且正在寻找自动分离他们的内容(他们独特的数据库)的方法,以便:
选项 1
由于我不熟悉自动创建新的neo4j服务器,并且希望保持简单,我的想法是附加一个独特的
databaseId
到每个 node
和 relationship
在图中。那么显然我会考虑到这个限制来应用查询。
选项 2
另一个想法是创建一个根节点并为所有节点与根节点创建关系。
问题
我的问题是:
N --> /inf
)时,它会影响速度吗?我的想法是它不会,因为您应用了 databaseId
限制(例如在 noSQL
这工作得很好),但我不确定它是否也适用于 neo4j 图形数据库。 最佳答案
作为一般建议(因为我对您的用例一无所知),我会尝试为每个“逻辑数据库”(LDB)使用一组不相交的节点标签。这将使创建和访问属于特定 LDB 的节点变得容易。而且,如果您只在标签属于同一个 LDB 的节点之间创建关系,那么图遍历也将保留在同一个 LDB 中。
Neo4j 可以通过标签快速获取节点,还可以创建索引,以便高效地找到标签/属性组合。
关于database-design - 一个图形数据库中有多个 'databases',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42797965/