在Gremlin JavaScript中实施分区策略

时间:2020-06-09 20:30:54

标签: javascript gremlin graph-databases amazon-neptune

我正在开发利用图数据库的多租户服务。我想将多个租户存储在单个群集中,以降低成本。但是,我想确保它们的资源是隔离的。我在Gremlin中知道,可以使用PartitionStrategy导致遍历仅浏览某些子图。我正在使用NodeJS,似乎找不到PartitionStrategy对象。有没有办法实现它或创建执行相同功能的自定义类?另外,用:Tenant属性标记每个节点是否足够?

谢谢!

1 个答案:

答案 0 :(得分:0)

在实现TINKERPOP-2054的功能之前,无法使用Java的Gremlin指定任何类型的TraversalStrategy实现。实际上,这并不是一件特别困难的事情……它主要是在实现序列化基础结构以使其全部运行。

您可以实现自己的分区,但这意味着您必须以尊重分区语义的方式编写Gremlin。您可以添加:Tenant属性,但必须始终确保您的应用程序将其添加到特定租户的所有适当顶点/边,然后必须确保所有遍历都包括基于读时该属性。 PartitionStrategy消除了所有这些顾虑,因此您无需为此烦恼而混淆Gremlin。