2

非常简单的问题,但我找不到我想要的信息 - 是否建议使用 tinkerpop 的 KeyIndexableGraph 或在 redis 等性能最高和专业的商店上推出自己的超高性能键/索引解决方案来获取节点/边缘您需要的位置?

在我看来,Redis 作为一种只关注键/值查找然后将地址传递到图表的技术在这里应该更好,但我想证明成本是合理的。

tinkerpop 的承诺是索引查找应该是 log(n) 对使用非常好的属性进行索引的文章。是否有可能在 redis 中做得更好,或者 n*constant 比在图形查找中要好得多?

编辑:我后来意识到这不是一个真正的智能问题——Redis 是一个内存存储,因此受内存的限制。查找图形节点位置仍然需要在图形中再次查找节点。

4

2 回答 2

4

重要的是要记住,除了 TinkerGraph(内存中的图)之外,TinkerPop 本身并不是一个图数据库。KeyIndexableGraph 是一个由底层图数据库(Titan、Neo4j、OrientDB 等)利用该图的索引功能实现的接口。因此,您应该根据底层图形数据库本身的功能来选择索引。

一般来说,为实现 KeyIndexableGraph 的图的索引目的实现 Redis 似乎是一个不必要的层。我猜想它会使您的编程复杂化而没有太多好处。

于 2013-02-05T00:35:45.737 回答
0

区别如下:像 OrientDb 这样的数据库在索引上有 apx O(log2n) 查找时间。Reddis 有 O(1) - 恒定时间查找。

于 2013-03-17T22:40:32.397 回答