自学neo4j
neo4j简介及安装
-
neo4j是什么?
Neo4j是一个高性能、高可靠性、可扩展、支持ACID事务的图数据库(NoSQL图形数据库,NoSQL为非关系型数据库),它基本由Java语言实现,支持数据平台的平滑扩展和过渡,同时能够在多种系统上完成部署,它使用Cypher查询语言对数据进行增删查改。Neo4j采用属性图模型对数据进行建模,能够以相同的速度遍历结点与边,其遍历速度与构成图形的数据量没有任何关系。 -
数据模型
neo4j属性图数据模型:neo4j图数据库遵循属性图模型来存储和管理其数据。
图形数据库数据模型的主要构建块是:节点、关系、属性。属性图模型规则:
①表示节点、关系和属性中的数据;
②节点和关系都包含属性;
③关系连接节点;
④属性是键值对;
⑤节点用圆圈表示,关系用方向键表示;
⑥关系具有方向性:单向和双向;
⑦每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”。
注:①在属性图数据模型中,关系应该是定向的。如果我们尝试创建没有方向的关系,那么它将抛出一个错误消息。在Neo4j中,关系也应该是有方向性的。如果我们尝试创建没有方向的关系,那么Neo4j会抛出一个错误消息,“关系应该是方向性的”。 ②Neo4j图数据库将其所有数据存储在节点和关系中。我们不需要任何额外的RRBMS数据库或无SQL数据库来存储Neo4j数据库数据。它以图形的形式存储其数据的本机格式。Neo4j使用本机GPE(图形处理引擎)引擎来使用它的本机图存储格式。
- neo4j特点及优势
(1)特点:
①SQL就像简单的查询语言Neo4j CQL;
②它遵循属性图数据模型;
③它通过使用Apache Lucence支持索引;
④它支持UNIQUE约束;
⑤它包含一个用于执行CQL命令的UI:Neo4j数据浏览器;
⑥它支持完整的ACID(原子性,一致性,隔离性和持久性)规则;
⑦它采用原生图形库与本地GPE(图形处理引擎);
⑧它支持查询的数据导出到JSON和XLS格式;
⑨它提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问;
⑩它提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本;同时,它支持两种Java API:Cypher API和Native Java API来开发Java应用程序。
(2)优点:
Neo4j图数据库是一个能够适应业务需求不断变化和大规模数据增长而产生的数据库,它不但具有很强的适应能力,而且能够自始至终保持高效的查询性能,并且具有坚如磐石般的事务管理特性等特点。
①闪电般的读/写速度,检索/遍历/导航更多的连接数据是非常容易和快速的,具有无与伦比的高性能表现;
②非结构化数据存储方式(易于表示半结构化数据),在数据库设计上具有很大的灵活性;
③很容易使用,Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习;可以用嵌入式、服务器模式、分布式模式等方式来使用数据库;
④提供分布式高可用模式,可以支持大规模的数据增长;
⑤使用简单而强大的数据模型,用简单框图就可以设计数据模型,方便建模;
⑥图数据的结构特点可以提供更多更优秀的算法设计;
⑦完全支持ACID完整的事务管理特性;
⑧数据库安全可靠,可以实时备份数据,很方便恢复数据;
⑨图的数据结构直观而形象地表现了现实世界的应用场景;
⑩它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引。
(3)缺点:
①极慢的插入速度;
②超大节点:当有一个节点的边非常多时(常见于大V),有关这个节点的操作的速度将大大下降;这个问题很早就有了,官方也说过会处理,然而现在仍然不能让人满意;
③提高数据库速度的常用方法就是多分配内存,然而看了官方操作手册,无法直接设置数据库内存占用量,而是需要计算后为其”预留“内存;
④AS的Neo4j 2.1.3最新版本,它具有支持节点数,关系和属性的限制;
⑤它不支持Sharding(MongoDB分片)。 - 环境设置
有两种格式的neo4j服务器软件安装格式:exe文件格式和zip格式文件。
(1)Neo4j使用Windows exe文件的数据库服务器设置:
步骤如下:
①从Neo4j网站下载最新的Neo4j Server安装文件:
官网:Neo4j官网下载
②将exe文件下载到您的磁盘空间;
③双击exe文件安装Neo4j服务器,点击下一步按钮并接受协议;
④安装成功后,请启动Neo4j Server;点击“Neo4j Community”,Windows“Star”按钮>>“All Programs”>>“"Neo4j Community”>>“"Neo4j Community”
默认情况下,它选择c:\ Users \ [username] \ Documents \ Neo4j \ default.graphdb。 如果你想要你可以改变你的路径到不同的目录。然后点击“开始”按钮。
⑤一旦服务器启动,我们可以观察到许多文件是在指定的目录下生成的;
访问Neo4j通过使用http:// localhost:7474 /
(2)Neo4j使用Windows zip文件的数据库服务器设置:
①从从Neo4j网站下载最新的Neo4j Server安装文件,根据你的操作系统配置选择合适zip版本(我采用此方式安装的,版本为3.5.5)。
②将此文件解压缩到所需的文件目录下。
③添加以下系统变量:
NEO4J_HOME = D:\Program Files\neo4j-community-3.5.5
PATH = D:\Program Files\neo4j-community-3.5.5\bin;
④使用Neo4j.bat文件启动服务器,打开命令提示符。 键入“Neo4j.bat”,然后按“Enter”键。 此窗口打开另一个空窗口。 一旦它成功启动数据库服务器,它显示以下消息 [http:// localhost:7474 /]
此处我遇到问题:
从neo4j官网上下载好community版本之后。按照网上教程解压然后执行.\neo4j 出现如下错误:
处理 -File“D:\Program”失败,因为该文件不具有 ‘.ps1’ 扩展名。请指定一个有效的 Windows PowerShell 脚本文件名,然后重试。
解决方法:
管理员身份开启cmd,依次执行如下代码:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Import-Module ‘D:\Program Files\neo4j-community-3.5.5\bin\Neo4j-Management.psd1’
Invoke-Neo4j console
成功启动页面
也可以参考以下链接zip安装步骤:简书:neo4j下载和安装