Database 无向图的Nosql DB?
我想存储一个包含数百万个节点的图,其中每个节点以无向方式链接到另一个节点(点a到B,自动地B到a)。我已经研究了Neo4j和OrientDB作为可能的解决方案,但它们似乎是在有向图中定向的,Neo4j对于>100万个节点不自由对我来说不是一个解决方案 您能帮助我其他哪些NoSQL数据库(Redis、CouchDB、MongoDB等)最适合这种情况吗?如何实现它?我想做一个无属性(只给我链接的元素)宽度优先查询,有两个深度级别(有AB、BC、CD,查询a应该给我B和C,但不是D)。始终按照指示存储关系/边,但是,在遍历/查询时,您可以通过使用或在某些情况下不定义方向,轻松地将图形视为无向图。(这样就不需要“双”边来覆盖两个方向,只需忽略方向,并且在“向后”遍历边时没有性能损失。) 100万“原语”的限制已经取消了很长一段时间。如果您的代码是开源的,则可以对任何大小的数据库使用社区版本。对于其他情况,有包含一个的。对节点数量没有限制。此外,默认模型是双向的。您也可以出于商业目的免费使用它,因为应用的许可证是Apache2 此处记录了GraphDB:。基本上,您可以使用本机API或蓝图实现。本机API是SQL语言的一种演变,带有用于图形的特殊运算符。例如: 从朋友穿越的帐户(1,7)中选择(address.city.country.name='newzealand') 也就是说,把住在新西兰的这位朋友的所有账目都给我。朋友被提升到第7级的深度Database 无向图的Nosql DB?,database,data-structures,graph,nosql,breadth-first-search,Database,Data Structures,Graph,Nosql,Breadth First Search,我想存储一个包含数百万个节点的图,其中每个节点以无向方式链接到另一个节点(点a到B,自动地B到a)。我已经研究了Neo4j和OrientDB作为可能的解决方案,但它们似乎是在有向图中定向的,Neo4j对于>100万个节点不自由对我来说不是一个解决方案 您能帮助我其他哪些NoSQL数据库(Redis、CouchDB、MongoDB等)最适合这种情况吗?如何实现它?我想做一个无属性(只给我链接的元素)宽度优先查询,有两个深度级别(有AB、BC、CD,查询a应该给我B和C,但不是D)。始终按照指示存储
第二种方法允许使用完整的Blueprint堆栈(如Gremlin语言)创建超级复杂的查询。查询位很有趣!我是从Cassandra的角度考虑这一点的,虽然存储可以通过单个列族实现,但我不确定如何处理两个深度级别的查询条件。需要更多的时间:)在遍历中偏离关系的方向是否会导致性能损失?