美文网首页
(一)腿碰腿之Neo4j图数据库介绍

(一)腿碰腿之Neo4j图数据库介绍

作者: 蟋蟀哥 | 来源:发表于2023-03-03 00:02 被阅读0次

为什么需要图数据库

随着社交, 金融, 电商领域的飞速发展, 传统的关系型数据库已经无法满足复杂业务的处理, 尤其是在数据间关系的关联度, 复杂度, 深度等呈几何级增长, 传统的RDBMS在处理方式和处理效率上也趋于过度复杂和低效, 因此需要一种的数据库能够处理海量数据的复杂关系, 就是下面要介绍的图数据库。

几个简单应用场景

  • 社交领域: 管理社交关系, 实现好友推荐
  • 电商领域: 商品推荐
  • 金融领域: 风控处理, 如根据用户社会关系, 交易记录等在借(dai)方面进行风控
  • 还有日常打交道的视频推荐, 广告推荐, 文章, 新闻推荐等等

图数据库对比关系型数据库

关系型数据库 图数据库
节点
列和数据 属性和数据
约束 关系

Neo4j介绍

Neo4j是一个开源的, 高性能的NOSQL图形数据库,使用java语言开发。

  • 是世界上最先进的图数据库之一,提供原生的图数据存储,检索和处理;
  • 采用属性图模型(Property graph model),极大的完善和丰富图数据模型;
  • 专属查询语言 Cypher,直观,高效

Neo4j的特性

  • SQL使用查询语言Neo4j CQL, 易上手
  • 通过使用Lucence支持索引
  • 支持UNIQUE约束, 支持完整的ACID原则
  • 包含一个可执行CQL命令的UI:Neo4j数据浏览器
  • 采用原生图形库与本地GPE(图形处理引擎)
  • 支持查询的数据导出到JSON和XLS格式
  • 提供了REST API,可使用任意语言就行访问
  • 提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本
  • 支持两种Java API:Cypher API和Native Java API来开发Java应用程序

Neo4j的优点

  • 很容易表示连接的数据
  • 检索/遍历/导航更多的连接数据是非常容易和快速的
  • 非常容易地表示半结构化数据
  • 不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

Neo4j数据模型

Neo4j主要包含以下三个构建元素:

  • 节点
    我们可以用社交系统的一个人来表示一个节点:


    image.png
  • 属性
    用户会有个人资料, 如姓名, 性别, 地址, 邮箱等; 属性用于描述节点和关系的键值对, 所以说节点和关系都可以设置其属性; 其中key是一个字符串, 属性可以使用Neo4j的任意数据类型来表示


    image.png
  • 关系
    关系是有方向性的, Neo4j关系被分为两种主要类型: 单向关系和双向关系


    image.png

以上就是图数据库及Neo4j的简单介绍, 下一篇将介绍如何在Windows及docker下安装Neo4j数据库

相关文章

网友评论

      本文标题:(一)腿碰腿之Neo4j图数据库介绍

      本文链接:https://www.haomeiwen.com/subject/rvjsldtx.html