gpt4 book ai didi

java - 使用 Tinkerpop 的 g.V() 时,TitanDB 是否将完整的图形加载到内存中?

转载 作者:搜寻专家 更新时间:2023-10-30 20:08:22 25 4
gpt4 key购买 nike

我现在正在使用 Titan。

我想在我的 Titan 应用程序中使用 Tinkerpop 支持的“g.V().values()”,实现图形遍历。

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

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

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

最佳答案

In my view, Tinkerpop loads global graph into memory when using this iterator.

我不确定您是从哪里得出这个结论的,但 TinkerPop 界面的意图恰恰相反。实现 TinkerPop 接口(interface)的图形数据库应该利用Iterator 的内存节省功能,并明智地加载数据。我用斜体写“应该”,因为 TinkerPop 确实没有办法执行该要求。当调用 g.V() 时,没有什么可以阻止图形提供者将其数据库中的所有数据拉入内存。

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

关于java - 使用 Tinkerpop 的 g.V() 时,TitanDB 是否将完整的图形加载到内存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40988221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com