文档章节

你真的认识Neo4j吗

快意开发
 快意开发
发布于 2016/12/26 13:35
字数 898
阅读 1717
收藏 0

也许时至今日,大家都知道,Neo4j,不就是一个图数据库吗?

是的,这一点也没错。

如果觉得上面的定义有点简短,我们还可以给出一个比较完整的定义。Neo4j是一个NoSQL的图数据库管理系统。NoSQL数据库,那一定也是一个高性能的数据库。

但是,仅仅知道Neo4j是一个高性能的图数据库,好像其吸引力还是不够的。因为不管是NoSQL,偶或高性能,还是图数据库,除了Neo4j之外,还有很多很多。Redis、CouchDB、MongoDB等等,都是高性能的NoSQL数据库,OrientDB、Giraph、AllegroGraph等等都是图数据库。

那么,Neo4j是一种怎样的高性能的图数据库呢?它在众多同类的数据库中,处于一个什么地位呢?在数据库未来的发展历程中,Neo4j的生命力将是如何呢?

只有了解了这些问题之后,你才可以说真的认识了Neo4j。而在你即将开始或者准备整改的项目中,在对数据库的选型上,你才清楚要不要选择使用Neo4j。

Neo4j的数据是一个图,图本身由顶点和边的集合所构成。在Neo4j中,图的顶点用节点来表示,节点的属性表示数据的内容,图的边用关系来表示,关系的类型表示节点之间联系的意义和性质,同时,关系也可以具有属性。

Neo4j的数据结构其实很简单,概括起来,就是节点、关系和属性三个要素,但是,就是这样简单的结构,它却可以用来表示现实世界中纷纭复杂的事物及其内在联系。

也正是因为Neo4j的数据结构简单,所以它也是一个易于使用的数据库。

由于Neo4j的易用性,和图的自然伸展特性,给Neo4j的数据库设计提供了很大的灵活空间,因此,Neo4j非常适合用于敏捷开发方法,并最能赶上需求发展变化的脚步。

利用图的自然伸展特性,使用Neo4j的免索引邻近遍历算法,让它可以自始至终,保持高性能的查询优势。

Neo4j还是一个支持ACID(Atomicity Consistency Isolation Durability)的具有完整事务管理机制的数据库。

Neo4j既是一个开源的数据库,同时也是一个收费的数据库。

Neo4j的社区版是开源的,因为开源,培育了众多Neo4j的粉丝,并得到众多编程语言如Java、.Net、PHP、Node.js、Python等等的大力支持。

Neo4j的企业版是收费的,因为收费,它的开发团队就敢于承诺:Neo4j可以支持7*24小时不间断的高可用服务,可以构建可扩展的高性能的分布式服务体系架构,可以实时备份并且应付灾难恢复。

实践表明,Neo4j在一些大中型企业的使用中,发挥了其强大的威力,并使这些企业创造了蓬勃发展的商业模型。像大型网络公司思科、大型超市澳尔玛、国际集团阿迪达斯等等大中型企业,都在使用Neo4j中使他们脱离了使用关系型数据库的困境,而创建了可持续发展的高性能系统。

最后我要说的是,Neo4j已经形成一个生态,它会不会是将来主流的数据库呢?

© 著作权归作者所有

共有 人打赏支持
快意开发

快意开发

粉丝 37
博文 13
码字总数 13793
作品 1
深圳
私信 提问
加载中

评论(2)

快意开发
快意开发

引用来自“陽光盛夏愛如花開”的评论

老师您好,请教一个问题,请问springboot在docker上部署的时候,如果要访问外部的数据库(数据库在另外一台机器上,docker在虚拟机里的情况下),怎么配置呢?
数据库还是像原来那样使用IP配置不受影响
陽光盛夏愛如花開
陽光盛夏愛如花開
老师您好,请教一个问题,请问springboot在docker上部署的时候,如果要访问外部的数据库(数据库在另外一台机器上,docker在虚拟机里的情况下),怎么配置呢?
图形数据库之Neo4j学习(一)

最近工作需要使用图形数据库来构建知识图谱,目前基于Java使用最广泛的有两个开源框架 (1) neo4j 社区版 免费 企业版 收费 (2) Titan 全开源 我们此次选择了neo4j的社区版,主要是项目紧,n...

九劫散仙
2016/09/29
234
0
快速兴起的小众数据库(一):为关系数据而生的Neo4j

前言 随着大数据时代的发展,诞生了一大批大数据时代下的新数据库产品,如今MongoDB、Redis、HBase这些NoSQL数据库已经成为了互联网开发的新标配,SQL一统江湖的时代不复存在了。 然而,如果...

麦田里的思考者
2018/06/18
0
0
Neo4j学习(3):操作图数据库的语言--Cypher

Cypher是一种用来处理图数据库的语言,语法比较简单。 1 查询数据库里的数据 match是匹配规则,(n)表示所有节点,语法要求加上小括号。 return n表示返回匹配到的所有节点 刚安装完,数据库里...

海天一树X
2018/08/29
0
0
Spring Data Neo4j 4.1 Milestone 1 发布

Spring Data Neo4j 4.1 Milestone 1 发布 作为 Spring Data release Hopper Train 的首个里程碑, Spring Data Neo4j 4.1 Milestone 1 在上周刚刚完成,我们同事发布了第二个里程碑版本的 Ne...

oschina
2016/02/25
1K
5
最受欢迎图数据库Neo4j宣布企业版彻底闭源

Philip Rathle 在官方博客中宣布 Neo4j 企业版彻底闭源的消息 Neo4j 是由 Neo4j, Inc 开发的图形数据库管理系统,是 NoSQL 的代表之一,它是一个嵌入式、基于磁盘的、支持完整事务的 Java 持...

技术小能手
2018/11/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

移植Modbus到STM32F103(2):移植FreeModbus到usart3并运行示例代码

FreeModbus是Modbus的一个被广泛移植的实现。其源码在github,最新版是1.6。 FreeModbus支持Modbus功能码里的0x01~0x06,0x0F~0x11和0x17,对一些功能比如异常诊断和读事件计数等功能码并没有...

Konstantine
21分钟前
0
0
浅谈神经网络(神经网络篇)

背景 之前写过浅谈神经网络基础篇,简单介绍下机器学习这块内容,用于扫盲。本文正式将神经网络,这部分是深度学习的基础。了解完可以掌握强大的机器学习的方法,也可以更好的了解深度学习。...

Uknowzheng
今天
3
0
移动硬盘变为RAW格式后的修复

在Mac上使用自己的移动硬盘结果文件系统格式变为RAW; 在自己windows笔记本上使用chkdsk H: /F进行修复,修复日志如下: C:\Users\mengzhang6>chkdsk H: /F文件系统的类型是 NTFS。卷标是 do...

晨猫
今天
3
0
10 Git —— 标签管理

10 Git —— 标签管理 本节内容: 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;命令git......

lwenhao
今天
3
0
小程序设置垂直居中,水平居中

如果子容器中的view需要居中的话,那需要在父容器中设置居中 水平居中: display: flex; flex-direction: column; align-items: center; 垂直居中 display: flex;align-items: cen...

淘幻幻
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部