图数据库NEO4j

在网络节点分析、社交网络分析、多元素的数据挖掘领域,节点和关系的复杂性已经成为限制数据挖掘的和展示的瓶颈。

neo4j是他们的福音,他是一个JAVA开发的图形数据库。Neo4j的内核是一种极快的图形引擎,具有数据库产品期望的所有特性,如恢复、两阶段提交、符合XA等。
Neo4j既可作为无需任何管理开销的内嵌数据库使用;也可以作为单独的服务器使用,在这种使用场景下,它提供了广泛使用的REST接口,能够方便地集成到基于PHP、NET和JavaScript的环境里。

Neo4j的典型数据特征:

neo4j的高性能:

自适应规模的Neo4j无需任何额外的工作便可以处理包含数十亿节点、关系和属性的图。它的读性能可以很轻松地实现每毫秒(大约每秒1-2百万遍历步骤)遍历2000关系,这完全是事务性的,每个线程都有热缓存。使用最短路径计算,Neo4j在处理包含数千个节点的小型图时,甚至比MySQL快1000倍,随着图规模的增加,差距也越来越大。

这其中的原因在于,在Neo4j里,图遍历执行的速度是常数,跟图的规模大小无关。不象在RDBMS里常见的联结操作那样,这里不涉及降低性能的集合操作。Neo4j以一种延迟风格遍历图 - 节点和关系只有在结果迭代器需要访问它们的时候才会被遍历并返回,对于大规模深度遍历而言,这极大地提高了性能。

示例,下面一段代码,可以生成下面的图:

create (gaojunxiu:Person{name:'gjx', born:1984})
create (weixionghan:Person{name:'wxh', born:1988})
create (tanqi:Person{name:'tanqi', born:1992})
create (yangjinsong:Person{name:'yjs', born:1992})
create
  (gaojunxiu)-[:ask]->(weixionghan),
  (weixionghan)-[:ask]->(tanqi),
  (weixionghan)-[:ask]->(yangjinsong),
  (yangjinsong)-[:ask]->(weixionghan)
with gaojunxiu as a
match (a)-[:ask]->(m)-[:ask]->(n) return a,m,n




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值