我現在在使用Titan。當從Tinkerpop使用g.V()時,TitanDB是否將完整的圖加載到內存中?
我想在我的Titan應用程序中使用Tinkerpop支持的「g.V()。values()」,實現圖遍歷。
在我看來,Tinkerpop使用此迭代器時將全局圖加載到內存中.Titan似乎直接調用此方法並且不會覆蓋。
那麼,執行g.V()時,Titan是否會將完整的圖加載到內存中?
如果答案是正確的。當圖形足夠大時,我會擔心內存大小。
我現在在使用Titan。當從Tinkerpop使用g.V()時,TitanDB是否將完整的圖加載到內存中?
我想在我的Titan應用程序中使用Tinkerpop支持的「g.V()。values()」,實現圖遍歷。
在我看來,Tinkerpop使用此迭代器時將全局圖加載到內存中.Titan似乎直接調用此方法並且不會覆蓋。
那麼,執行g.V()時,Titan是否會將完整的圖加載到內存中?
如果答案是正確的。當圖形足夠大時,我會擔心內存大小。
在我看來,Tinkerpop使用此迭代器時將全局圖加載到內存中。
我不確定你從哪裏收集到這個結論,但TinkerPop接口的意圖是相反的。實現TinkerPop接口的圖形數據庫應當利用Iterator
的內存保存功能,並明智地瞭解它們如何加載數據。我用斜體字寫「應該」,因爲TinkerPop真的無法執行這個要求。當調用g.V()
時,沒有什麼可以阻止圖表提供者將其數據庫中的所有數據提取到內存中。這就是說,我並沒有真正意識到任何持久化(即不是內存中的圖已經駐留在內存中)的TinkerPop實現,包括Titan在內。如果是這樣的話,泰坦將無法很好地擴展。當然,這並不意味着在OLTP風格的遍歷中使用g.V()
執行全局檢索億年邊緣圖中的所有頂點意味着您會得到好的結果。如果完全返回(即超時和其他環境問題),您將等待很長時間才能完成該遍歷。對於全局圖查詢,在這些情況下,您會使用titan-hadoop和OLAP樣式遍歷。