带janusgraph的多租户

带janusgraph的多租户,graph,gremlin,tinkerpop3,janusgraph,Graph,Gremlin,Tinkerpop3,Janusgraph,我花了一些时间在不同的论坛上阅读这个主题,并理解了实现多租户使用分区策略的概念 但仍有如下悬而未决的问题 1-使用gremlin query我们如何同时连接两个不同的分区策略,这意味着为跨租户业务分析案例查询来自多个租户的数据 2-如何在不影响其他租户操作的情况下仅重建图的特定分区(一个租户) 仅供参考 我的公司处理多个租户,一次写入一个租户数据,但根据登录到系统的用户读取多个租户数据 使用gremlinquery,我们如何同时连接两个不同的分区策略,这意味着在跨租户业务分析案例中查询来自多个租

我花了一些时间在不同的论坛上阅读这个主题,并理解了实现多租户使用分区策略的概念

但仍有如下悬而未决的问题

1-使用gremlin query我们如何同时连接两个不同的分区策略,这意味着为跨租户业务分析案例查询来自多个租户的数据

2-如何在不影响其他租户操作的情况下仅重建图的特定分区(一个租户)

仅供参考

我的公司处理多个租户,一次写入一个租户数据,但根据登录到系统的用户读取多个租户数据

使用gremlinquery,我们如何同时连接两个不同的分区策略,这意味着在跨租户业务分析案例中查询来自多个租户的数据

如果您使用的是
PartitionStrategy
,那么只需在策略中添加适当的“读取分区”。例如,如果有三个租户,“a”、“b”和“c”,并且您只想遍历分区“a”和“c”,那么将您的
分区策略构建为:

PartitionStrategy strategy = PartitionStrategy.build().
                                 partitionKey("_partition").readPartitions("a", "c").create()
如何在不影响其他租户操作的情况下仅重建图的特定分区(一个租户)


我不知道你所说的“只重建某个分区”是什么意思——如果你能澄清你的意思,我可以试着回答。

嗨,斯蒂芬,谢谢你的回复。关于第二个问题,在多租户环境中,在分区策略中,仅刷新某些租户的数据,而不影响其他租户。此外,如果出于安全和法规遵从性原因无法使用分区策略,并且对每个客户使用单独的图,我仍然可以跨多个图执行查询吗?“刷新”/“重建“-对不起,但这两个词都不能帮助我理解你想做什么。你的意思是,你必须删除租户数据,并出于某种原因将其放回原处吗?如果您为每个租户使用单独的图,则无法跨多个图进行查询。感谢Stephen,刷新-假设我在另一个SQL DB中有备份数据,需要将其推回到图中。其他数据库技术中存在数据的原因取决于客户。刷新数据的另一个原因是在架构级别更改内容。如果您必须删除其他租户所依赖的数据,然后在不停机的情况下将其放回,我不确定您能做些什么才能不影响其他租户。我想如果必须这样做,我可能会尝试将刷新的数据加载到新分区(保留旧分区),然后修改租户的读取分区以指向新分区。然后,当没有租户查看旧的时,您只需批量删除它。