是否可以在同一个 Memgraph 实例中使用逻辑上分离的图?
Is it possible to have logically separated graphs within the same Memgraph instance?
类似于在关系数据库中您可以在同一个数据库服务器上拥有多个数据库,是否可以在同一个 Memgraph 实例中保存多个图?
如果不是,从逻辑上分离这些图的最佳方法是什么?
您可以使用标签实现此行为。例如,您可以将标签 GraphOne
添加到第一个图的每个节点,将标签 GraphTwo
添加到第二个图的每个节点,依此类推。节点可以有多个标签,因此您仍然可以保留原始标签和告诉您特定节点属于哪个图的新标签。您可以使用相同的技术来保存多层网络。
除此方法外,唯一的选择是启动一个新实例。
如果您担心元数据过多,标签不会占用大量内存,因此不会增加太多开销。可以通过要求在每个查询中使用这些标签来实现额外的安全性。例如,如果您正在连接 GQLAlchemy,您会检查每个查询以查看它是否包含适当的标签(GraphOne、GraphTwo 等),如果不包含则抛出错误。
类似于在关系数据库中您可以在同一个数据库服务器上拥有多个数据库,是否可以在同一个 Memgraph 实例中保存多个图?
如果不是,从逻辑上分离这些图的最佳方法是什么?
您可以使用标签实现此行为。例如,您可以将标签 GraphOne
添加到第一个图的每个节点,将标签 GraphTwo
添加到第二个图的每个节点,依此类推。节点可以有多个标签,因此您仍然可以保留原始标签和告诉您特定节点属于哪个图的新标签。您可以使用相同的技术来保存多层网络。
除此方法外,唯一的选择是启动一个新实例。
如果您担心元数据过多,标签不会占用大量内存,因此不会增加太多开销。可以通过要求在每个查询中使用这些标签来实现额外的安全性。例如,如果您正在连接 GQLAlchemy,您会检查每个查询以查看它是否包含适当的标签(GraphOne、GraphTwo 等),如果不包含则抛出错误。