2

我正在使用DataStax Enterprise Graph,并希望使用 Gremlin 将所有节点从图形数据库流式传输到我的应用程序。

注意:我正在通过 WebSocket 与Gremlin 服务器通信,使用会话来获取持久变量。

为此,无需拉取内存中的所有节点,我首先在服务器上创建了一个迭代器:

// called once
iter = g.V();

然后我逐步将迭代器读入缓冲区并返回缓冲区的内容:

// called multiple times, until it returns an empty array
results = []
while (itemStream.hasNext() && results.size < 5000) {
    results.push(itemStream.next())
}
return results

我曾经用TitanDB来做这个,它工作得很好(每秒读取几千个节点)。

使用DSE Graph,它的速度要慢得多(每秒读取 330 次),并且在仅读取 400'000 个节点后出现以下错误错误:

操作超时 - 仅收到 0 个响应。

在DSE Graph中是否有更好的方法来做到这一点?

4

0 回答 0