neo4j 图数据库基础
需要做一个小的 Demo,学习一下 neo4j 的使用
文字内容来自于腾讯课堂庞国明的《Neo4j 图数据库视频教程》
图数据库基础
1 图数据库介绍
图数据库(Graph Database)是基于图论实现的一种新型 NoSQL 数据库。它的数据存储结构和数据的查询方式都是以图论为基础的。图论中图的基本元素为节点和边,在图数据库中对应的就是节点和关系。
在图数据库中,数据与数据之间的关系通过节点和关系构成一个图结构并在此结构上实现数据库的所有特性,如对图数据对象进行创建、读取、更新、删除(Create、Read、Update、Delete,简称:CRUD)等操作的能力,还有处理事务的能力和高可用性等。
目前市面上较为流行的图数据库产品有以下几种:
neo4j
OrientDB
TITAN
FlockDB
AllegroGraph
关系型数据库 vs. 图数据库
关系型数据库比较善于处理 1 对 1 或者 1 对 多的关系;如果查询多对多查询,需要建立关联表,并且只能处理一个层次的多对多关系。
关系型数据库查询多层多对多关系(复杂网络模型)的时候,性能急剧下降。
图数据库没有外键关联的概念,数据以节点的方式来保存,数据与数据之间的关系,用边来表示,边不限数量、不限方向
2 Neo4j 介绍
Neo4j 是由 Java 和 Scala 实现的开源 NoSQL 图数据库。自 2003 年开始研发,直到 2007 年正式发布第一版。Neo4j 的源代码托管在 GitHub 上,技术支持托管在 Stack Overflow 和 Neo4j Google 讨论组上。Neo4j 现如今已经被各种行业的数十万家公司和组织采用。Neo4j 的使用案例涵盖了包括网络管理、软件分析、科学研究、路由分析、组织和项目管理、决策制定、社交网络等。
官方网站:https://neo4j.com
Github: https://github.com/neo4j/neo4j
Example: https://github.com/neo4j-examples
Neo4j 具备的特性:
图数据库
基于 JVM
高性能
复杂数据模型
代码开源
ACID 事务
声明式图查询语言
界面友好
版权声明: 本文为 InfoQ 作者【escray】的原创文章。
原文链接:【http://xie.infoq.cn/article/e82d1b03599e69c448a3c343c】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论