NoSQL数据库原理-第八章-其他NoSQL数据库简介课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《NoSQL数据库原理-第八章-其他NoSQL数据库简介课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NoSQL 数据库 原理 第八 其他 简介 课件
- 资源描述:
-
1、NoSQL数据库原理第8章 其他NoSQL数据库简介 2 NoSQL并非是一个严谨的概念,包含很多能够进行数据管理和查询的系统,诸如:l 图数据库:专门描述点线关系的数据库,例如Neo4jl(用于缓存系统的)键值对数据库:实际仍是键值对模型,但侧重将数据转载到内存,以提升数据查询速度,例如:Redis和Memcachel 搜索引擎:强调实现文本类数据的全文检索功能,例如:Solr 还有一些特殊的数据库:l 环形数据库:类似于MongoDB中的定长集合,主要用于监控系统中绘制图表时提供数据支持,例如:rrdtooll 时序数据库:专门存储时序数据,例如监控日志的数据库,例如InfluxDB等第8
2、章 其他NoSQL数据库简介概述 3 所谓图,是指将数据存储为顶点(或称为实体)和边(或称为关系)的数据存储模式,也可以称此类关系为网络l 图数据库专门描述节点与关系,但(常见的图数据库的)分布式部署能力较弱l 对比关系型数据库,图数据库中对数据关系进行了简化,边和节点以不同的方式描述和管理。第8章 其他NoSQL数据库简介8.1 图数据库简介 4 Neo4j是一个基于Java语言的开源图数据库系统,Neo Technology公司维护。l 2018年11月,Neo4j 宣布3.5 版本后企业版将闭源,但社区版仍会被维护,且保持开源l Neo4j具有强大的图处理和查询搜索能力,通过专用的Cyp
3、her语言,可以非常便利地完成各类操作。l 目前Neo4j一般采用单机部署,但支持比较严格的事务机制,并可以提供数据的强一致性。谷歌公司曾于2010年发表论文Pregel:A System for Large-Scale GraphProcessing,介绍 了一种名为Pregel的分布式图计算模型。l Apache Spark中的GraphX模块是一个Pregel模型的具体实现,运算性能较高l 但GraphX不像Neo4j一样强调图数据的管理与查询等功能。第8章 其他NoSQL数据库简介8.1 图数据库简介 5 8.2.1 在Windows中安装Neo4j 前提:部署Java运行环境,注意%
4、JAVA_HOME%路径最好以jre结尾 从官方网站(https:/ Bin存储软件控制命令,其中最重要的命令为neo4j.bat,l Conf目录下只有一个件配置文件neo4j.conf,即软件的配置文件。l Data目录为默认的数据文件存储位置。l Logs目录下为运行日志。l Lib目录下为各类java库包。第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 6 8.2.1 在Windows中安装Neo4j 前台启动方式。首先以管理员身份打开一个命令行窗口,在合适的目录下运行:l neo4j.bat consolel 软件会在窗口前台运行。服务模式(Windows Servi
5、ces)。安装和卸载neo4j服务(需要管理员身份):l neo4j install-servicel neo4j uninstall-service 当服务安装完毕后,服务的启动、停止、重启和状态查看:l neo4j start|neo4j stop|neo4j restart|neo4j status第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 7 8.2.1 在Windows中安装Neo4j 打开配置文件:conf/neo4j.conf,开启软件的WEB操作界面,并禁用掉安全认证功能(可选)l(注意取消句首的注释符号“#”,以及注意地址、端口的正确性):l dbms.c
6、onnector.http.enabled=truel dbms.connector.http.listen_address=localhost:7474l dbms.security.auth_enabled=false(重启软件后)以打开浏览器,输入访问地址:http:/localhost:7474/,进入neo4j的web操作界面l 默认用户名和密码均为“neo4j”,首次连接时,页面会提示修改密码。第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 8 8.2.2 在Centos7中安装Neo4j 可以使用yum方式进行安装:下载neo4j的软件公钥,并安装:l wget
7、http:/debian.neo4j.org/neotechnology.gpg.keyl rpm-import neotechnology.gpg.key 在/etc/yum.repo.d/目录中neo4j.repo。内容如下:l neo4jl name=Neo4j Yum Repol baseurl=http:/yum.neo4j.org/stablel enabled=1l gpgcheck=1 最后执行安装:l yum install neo4j-y 在后台启动软件:l neo4j start 根据前文修改配置文件,即可私用web访问界面第8章 其他NoSQL数据库简介8.2 Neo4
8、j 安装与使用 9 8.2.3 Neo4j的web操作界面 图中左侧为导航菜单栏,点击会弹出相应的子页面。菜单从上到下依次为:l Database Information:数据库和图(边、节点等)的基本属性信息。l Favorites:示例语句和用户自行保存的常用语句。l Documentation:文档。l Neo4j Browser Sync:与云端数据库同步。l Browser Settings:图形界面配置。l About Neoconj:版权信息等。右边上部为cyber语言的输入框,下部为结果栏。l 结果可以通过图形、表、文本等方式展示出来第8章 其他NoSQL数据库简介8.2 Ne
9、o4j 安装与使用 10 8.2.3 Neo4j的web操作界面第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 切换结果显示方式导航栏输入Cyber语言指令显示结果 11 8.2.3 Neo4j的web操作界面 导航栏可以查询到运行历史和常见cyber语言的示例 在输入框中输入下列指令可以显示教程:l:play start第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 12 8.2.4 Cypher语言简介 Cypher语言是一种声明式查询语言,其语法较为简单,很方便对点线关系进行操作:利用Cypher语言可以实现节点与关系的定义、修改、删除和查询等功能,其中查
10、询还支持条件查询、和聚合查询等。关于Cyber语言的语法,有如下注意事项:l Cypher语言中对命令的大小写不敏感,但是对标签和属性大小写敏感。l 在语句末尾可以加上分号表示结尾,但在web操作环境中,默认一次输入一条语句,此时可以不加分号。l 字符串值需要用引号包括,用单双引号均可。第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 13 8.2.4 Cypher语言简介 创建节点l create(n)l create(n:Person name:Bob,sex:male)return nl Person是节点n的标签,具有name和sex两个属性l 在节点建立之后,系统会自动
11、为每个节点建立一个唯一的id(可以理解为内部仍然具有键值对结果)第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 14 8.2.4 Cypher语言简介 创建关系:CREATE(节点)-r:关系标签可选的关系属性-(另一个节点)例如:l MATCH(a:Person),(b:Person)l WHERE a.name=Bob AND b.name=Alicel CREATE(a)-r:friend_of name:a.name+and +b.name-(b)l RETURN r;找到具有Person标签的两个节点,如果name分别为bob和alice(MATCH),则建立一个从B
12、ob到Alice的单向关系(CREATE和“-”),该关系的标签为“friend_of”,如果不使用MatchWhere,则会建立两个新节点a和b第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 15 8.2.4 Cypher语言简介 建立了三个节点和两个关系:lcreate p=l(n:Personname:alice)l-:play_withgame:football-l(q:Personname:Chris)l(p)RETURN pl MATCH(n:Person name:Bob)(x)return x;l 注意如果第一个MATCH子句返回了n个符合条件的结果,但opti
13、onal MATCH子句中有m个结果没有任何匹配的结果,则返回m个空值。第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 19 8.2.4 Cypher语言简介 更新标签或属性set,例如:l MATCH(n name:alice)SET n.lastname=Jackson RETURN nl 为所有具有属性“name:alice”的节点增加一个lastname属性。删除属性可以用null关键字:l MATCH(n name:alice)SET n.lastname=null RETURN n 删除属性和标签,还可以使用remove命令:l MATCH(n name:alice
14、)REMOVE n.age,n.sex RETURN n;第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 20 8.2.4 Cypher语言简介 修改标签:l MATCH(n name:alice)SET n:girl RETURN n 复制属性或标签:l MATCH(nname:Chris),(mname:bob)SET n.age=m.age RETURN n,m;删除符合条件的节点:l MATCH(n:Personname:Bob)DELETE n 如果符合条件的节点存在和其他节点关系,则无法完成删除,此时需要删除节点和它所有的对外关系:l MATCH(n name:al
15、ice)-r-()DELETE n,r第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 21 8.2.4 Cypher语言简介 删除所有的节点和关系:l MATCH(n)OPTIONAL MATCH(n)-r-()DELETE n,r 聚合函数l Cypher语言支持在查询等场景中使用聚合函数,常见的聚合函数例如:count、sum、avg、max、min等。例如:l MATCH(n name:bob)RETURN count(*)l MATCH(n:Person)RETURN avg(n.age)有关Cypher语言的详细语法,可以从web操作界面的“Documents”子窗口
16、中查询相关文档。第8章 其他NoSQL数据库简介8.2 Neo4j 安装与使用 22 8.2.5 通过JAVA访问neo4j Neo4j提供了.NET、JAVA、Python、Javascript、http(rest风格),以及集成到spring框架的驱动包。利用Java语言访问Neo4j有两种方式:l 第一种为服务端方式,即运行Neo4j的数据库服务端,然后客户端通过bolt接口(类似JDBC的概念)进行传递Cypher语句。l 第二种方式为嵌入式方式,直接建立数据库文件并进行处理,不需要运行数据库软件。这种方式的效率更高,并且可以进行一些图的计算l 本节介绍第一种方式第8章 其他NoSQL
展开阅读全文