暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

图形数据库Neo4j的介绍

程序猿社 2020-08-25
2280

点击上面的“程序猿社”,设置为星标

介绍

       Neo4j是一个开源的、NoSQL的本地图形数据库,它为你的应用程序提供了一个符合acid的交易后端。最初的开发始于2003年,但从2007年开始公开。用Java和Scala编写的源代码可以在GitHub上免费获得,或者作为用户友好的桌面应用程序下载。Neo4j有数据库的社区版和企业版。企业版包括Community Edition必须提供的所有功能,以及额外的企业需求,如备份、集群和故障转移能力。

       Neo4j被称为本地图形数据库,因为它有效地实现了一直到存储级别的属性图形模型。这意味着数据的存储方式与白板上的数据完全相同,数据库使用指针导航和遍历图。与图形处理或内存库相比,Neo4j还提供了完整的数据库特性,包括ACID事务遵从性、集群支持和运行时故障转移——这使得它适合在生产场景中将图形用于数据。

       以下一些特性使得Neo4j在开发人员架构师和dba中非常受欢迎:

      Cypher一种声明性查询语言,类似于SQL,但是针对图进行了优化。现在通过openCypher项目被SAP HANA Graph和Redis Graph等数据库使用。

      由于节点和关系的有效表示,在大图中对深度和广度进行常数时间遍历。允许在中等的硬件上扩展到数十亿个节点。

       灵活的属性图模式,可以随时间变化,使得在业务需要更改时可以实现和添加新的关系,从而缩短和加速域数据。

   流行编程语言的驱动程序,包括Java、JavaScript、. net、Python等等。


背景


       我们生活在一个互联的世界!我们周围没有孤立的信息,而是丰富的、相互关联的领域。只有原生包含关系的数据库才能有效地存储处理和查询连接。当其他数据库通过昂贵的连接操作在查询时计算关系时,图形数据库将连接与模型中的数据一起存储。



      访问本地图形数据库中的节点和关系是一种高效的、固定时间的操作,允许您每秒快速遍历数百万个连接



       与数据集的总体大小无关,图形数据库擅长管理高度连接的数据和复杂的查询。仅使用一种模式和一组起始点,图形数据库就可以探索这些起始点周围的邻近数据——从数百万个节点和关系中收集和聚合信息——而不影响搜索范围之外的任何数据。



与其它数据库的对比


  Neo4j是一种nosql数据库,属于非关系型数据库,与以行、列和表排列数据的传统数据库不同,Neo4j有一个由存储的数据记录之间的关系定义的灵活结构。使用Neo4j,每个数据记录或节点存储指向它所连接的所有节点的直接指针。因为Neo4j是围绕这个简单而强大的优化设计的,所以它对复杂连接执行查询的速度比其他数据库快一个数量级,深度也更大




 

使用场景

  •  欺诈检测


通过人员关系图分析可以清楚地知道洗钱网络及相关嫌疑,例如对用户所使用的帐号、发生交易时的IP地址、MAC地址、手机IMEI号等进行关联分析。


  • 推荐系统


比如你在淘宝上浏览了某一个商品,它在下面有“猜你喜欢”版块,推荐你搜索商品相关的相似的商品。


  • 社交网络图


社区聚类分析,朋友朋友推荐(就像使用QQ、微信、支付宝的时候,韩某某和你有N个共同好友),社交电商里面的绑定关系。


  • 身份和访问管理


使用图形数据库进行身份和访问管理时,可以快速有效地跟踪用户,资产,关系和授权。


  • 企业关系构建


使用图形数据库可以有效、快速的查询出企业的投资关系图,或者相关联的企业。


等等,使用场景远不止这些,具体还要根据具体场景判断


彩蛋 


  下一节介绍neo4j的安装



  




文章转载自程序猿社,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论