Tinkerpop-使用Redis作为键值属性索引还是使用KeyIndexableGraph更好

Tinkerpop-使用Redis作为键值属性索引还是使用KeyIndexableGraph更好,graph,redis,key-value,gremlin,Graph,Redis,Key Value,Gremlin,非常简单的问题,但我找不到我想要的信息-建议使用tinkerpop的KeyIndexableGraph,还是在redis等性能最好、最专业的商店上推出自己的超级性能键/索引解决方案,以获得所需的节点/边缘位置 在我看来,Redis作为一种只关注键/值查找,然后将地址传递到图表中的技术,在这里应该更好,但我想证明成本是合理的 tinkerpop的承诺是,索引查找应该在使用相当好的属性进行索引的文章上进行logn。是否有可能在redis中做得更好,或者n*常量比在图形查找中好得多 编辑:我后来意识到

非常简单的问题,但我找不到我想要的信息-建议使用tinkerpop的KeyIndexableGraph,还是在redis等性能最好、最专业的商店上推出自己的超级性能键/索引解决方案,以获得所需的节点/边缘位置

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

tinkerpop的承诺是,索引查找应该在使用相当好的属性进行索引的文章上进行logn。是否有可能在redis中做得更好,或者n*常量比在图形查找中好得多


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

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


一般来说,为实现KeyIndexableGraph的图形实现Redis以进行索引似乎是一个不必要的层。我想这会使您的编程复杂化,但没有多少好处。

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

一般来说,为实现KeyIndexableGraph的图形实现Redis以进行索引似乎是一个不必要的层。我想这会使您的编程复杂化,但没有多少好处。

这里是不同之处: 像OrientDb这样的数据库在索引上有apx Olog2n查找时间。 Reddis具有O1-恒定时间查找

区别如下: 像OrientDb这样的数据库在索引上有apx Olog2n查找时间。
Reddis具有O1-恒定时间查找

我的第二个问题,你们已经回答了相关的问题——当我在图表上得到提升时,我是否有机会窃听你们的联系信息,为我正在从事的项目提供一些指导?没有多少人有这样的经历。再次感谢-我使用的是orient,但很可能会与Faunus一起切换到Cassandra上的Titan。标记为已回答,因为我认为这是一个有效的答案,不会给出运行时间推断。如果其他人能给出更有价值的答案,我会把它翻出来。如果你还没有,我建议你回答你必须回答的问题,你会从那里的人那里得到很多帮助,包括我我的第二个问题,你们已经回答了相关的问题——当我在图表上得到提升时,我是否有机会窃听你们的联系信息,为我正在从事的项目提供一些指导?没有多少人有这样的经历。再次感谢-我使用的是orient,但很可能会与Faunus一起切换到Cassandra上的Titan。标记为已回答,因为我认为这是一个有效的答案,不会给出运行时间推断。如果其他人能给出更有价值的答案,我会把它翻出来。如果你还没有,我建议你回答你必须回答的问题,你会从那里的人那里得到很多帮助,包括我