使用TinkerPop?(使用G.V()时,TitandB是否会将完整的图形加载到内存中



i’m现在使用泰坦。

我想使用TinkerPop在我的Titan应用程序中支持的" G.V()。values()",实现图形遍历。

在我看来,使用此迭代器时,TinkerPop将全局图加载到内存中。TITAN似乎直接调用此方法而不是覆盖。

那么,执行G.V()时,Titan是否将完整的图形加载到内存中?

如果答案为真。我会担心图形足够大时的内存大小。

在我看来,使用此迭代器时,TinkerPop将全局图加载到内存中。

我不确定您从哪里收集了结论,但是Tinkerpop界面的意图恰恰相反。实现TinkerPop接口的图形数据库应该使用Iterator的内存保存功能,并对它们加载数据的加载方式很聪明。我以斜体的形式写"应该",因为TinkerPop确实无法执行这一要求。当调用g.V()时,没有什么可以阻止图形提供商将数据库中的所有数据拉到内存中。

也就是说,我并不真正知道任何持久性(即,图表已经存在于内存中的内存))tinkerpop实现,包括泰坦。如果是这种情况,泰坦将无法很好地扩展。当然,这并不意味着用g.V()的OLTP式遍历中的十亿个边缘图中的所有顶点执行全球检索将意味着您将获得良好的结果。如果它返回(即超时和其他环境问题),您将等待很长时间才能完成。对于全局图查询,您会希望在这种情况下使用Titan-Hadoop和OLAP风格的遍历。

最新更新