【大数据】图数据库Neo4j的入门与使用

235 阅读2分钟

image.png

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情

前言

由于项目需要,需要对实体和关系构建知识图谱,由于实体关系之前或者实体与实体之间的关系不能单独使用一个结构化数据库进行存储,或者存储效率十分低下,因此需要使用图数据库结构,因此需要在动手之前了解一下Neo4j

Neo4j简介

Neo4j是一个由Java语言编写的完全开源的图数据库,不用预设数据的格式,属于非关系型数据库,并且使用图这种结构进行数据存储。

Neo4J的官网是

http://www.neo4j.org/

image.png

什么是图数据库

对比MySQL中关系型数据库,图数据库是通过节点和变的形式对数据库进行存储。

image.png

为何要用图数据库

由上图所示,例如这种关联图,有节点,有边,而且随着数据量增加,网络会越发复杂,在结构化数据库中表示这种关系并不容易,例如两个节点和边的信息存储一行的话,多个节点情况下数据会非常冗余,而且核心问题在于关系查找和遍历是非常缓慢的,因此需要寻求一种利用图结构进行存储的方法,而Neo4j就是为了这种图结构而产生的,其有着以下特点:

  • 检索、遍历连接数据是非常快速的
  • Neo4j的CUDA语句类似于Sql,较为容易理解
  • 对于半结构化数据的表示是十分强大的

数据模型

Neo4j数据库中遵循图模型来存储和管理数据,因此包含节点、关系、属性三部分,而关系是定向的。

今天的文章简单水了一下图数据库Neo4j的简介,接下会对数据库进行部署以及使用,Thanks♪(・ω・)ノ,。