下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上Neo4j 简介数据存储一般是应用开发中不可或缺的组成部分。应用运行中产生的和所需要的数据被以特定的格式持久化下来。应用开发中很常见的一项任务是在应用本身的领域对象模型与数据存储格式之间进行相互转换。如果数据存储格式与领域对象模型之间比较相似,那么进行转换所需的映射关系更加自然,实现起来也更加容易。对于一个特定的应用来说,其领域对象模型由应用本身的特征来决定,一般采用最自然和最直观的方式来进行建模。所以恰当的选择数据存储格式就显得很重要。目前最常见的数据存储格式是关系数据库。关系数据库通过实体 - 关系模型(E-R 模型)来进行建模,即以表和表之间的关系来建模。在实际
2、开发中可以使用的关系数据库的实现非常多,包括开源的和商用的。关系数据库适合用来存储数据条目的类型同构的表格型数据。如果领域对象模型中不同对象之间的关系比较复杂,则需要使用繁琐的对象关系映射技术(Object-Relationship Mapping,ORM)来进行转换。对于很多应用来说,其领域对象模型并不适合于转换成关系数据库形式来存储。这也是非关系型数据库(NoSQL)得以流行的原因。NoSQL 数据库的种类很多,包括键值对数据库、面向文档数据库和图形数据库等。本文中介绍的 Neo4j 是最重要的图形数据库。Neo4j 使用数据结构中图(graph)的概念来进行建模。Neo4j 中两个最基本
3、的概念是节点和边。节点表示实体,边则表示实体之间的关系。节点和边都可以有自己的属性。不同实体通过各种不同的关系关联起来,形成复杂的对象图。Neo4j 同时提供了在对象图上进行查找和遍历的功能。对于很多应用来说,其中的领域对象模型本身就是一个图结构。对于这样的应用,使用 Neo4j 这样的图形数据库进行存储是最适合的,因为在进行模型转换时的代价最小。以基于社交网络的应用为例,用户作为应用中的实体,通过不同的关系关联在一起,如亲人关系、朋友关系和同事关系等。不同的关系有不同的属性。比如同事关系所包含的属性包括所在公司的名称、开始的时间和结束的时间等。对于这样的应用,使用 Neo4j 来进行数据存储
4、的话,不仅实现起来简单,后期的维护成本也比较低。Neo4j 使用“图”这种最通用的数据结构来对数据进行建模使得 Neo4j 的数据模型在表达能力上非常强。链表、树和散列表等数据结构都可以抽象成用图来表示。Neo4j 同时具有一般数据库的基本特性,包括事务支持、高可用性和高性能等。Neo4j 已经在很多生产环境中得到了应用。流行的云应用开发平台 Heroku 也提供了 Neo4j 作为可选的扩展。为什么选择Neo4j1. 社区活力大在官网声称 3,000,000次以上的下载,每个月增加50,000次下载2. 高性能读写和可扩展性,支持ACID规范3. 简单易学,容易入门4. 使用方便,提供强大的
5、图查询语言Cypher,并且对java支持很好提供专有API接口5. 服务较稳定可靠,在兼顾性能的同事还支持事物6. 本身提供图可视化功能,缩短业务和IT之间的差距,业务人员可以参考快速建模Neo4j功能介绍1. Cypher语句查询结合可视化使用非常方便,如下图查询一一个公事件和投资关系MATCH p=(a:GroupCompanyname:'和润领航投资管理(北京)有限公司')-r:Event*->() RETURN p limit 100 2. 支持用户自定义函数功能3. 自带很多图操作算法如:最短路算法、优化图遍历算法、中心性算法、社区检测算法4. 本支
6、持REST API 接口可以直接,可以通过程序5. 最新版本3.3更是在性能方面做大提升,支持从HDFS导入导出、大查询结果返回效率更高、提供ETL工具支持关系形式数据库导入6. 在企业版方面a) Bolt驱动程序的新连接最少的负载平衡取代了循环选择,以在高需求条件下保持高集群吞吐量b) 服务器内部的加密保证了所有服务器到服务器的传输安全 Neo4j和其他图数据库产品优缺点1. 功能对比:NameArangoDBOrientDBNeo4J数据库类型multi-model DBMSmulti-model DBMSgraph database数据模型Document store、Graph DBM
7、S、Key-value storeDocument store、Graph DBMS、Key-value storeGraph DBMS适合的操作系统Linux、OS X、Raspbian、Solaris、WindowsAll OS with a Java JDK (>= JDK 6)Linux、OS X、Solaris、Windows事物支持ACIDACIDACID外键NoYesYes2. ArangoDB 优缺点2.1 可通过内存提速,CPU占用率低2.2 可以基于JavaScript构建应用在扩展性方面不错2.3 提供AQL查询在远程配置上比较灵活2.4 缺点是插入性能低3. Neo4j优缺点3.1 可集群,使用读/写负载平衡器将请求直接到一个集群;3.2 支持事物、锁、页面缓存;3.3 图形关系的最佳存储模式,嵌入式、高性能、轻量级3.4 Cypher语法友好3.5 图遍历、查找效率高3.6 Neo4j没法存储巨大的一张关系图 ,因为他不支持分片4. OrientDB优缺点4.1 安装简单,功能丰富4.2 OrientDB是兼具文挡数据库的灵活性和图形数据库管理链接能力的可深层次扩展的文档-图形数据库管理系统(NoS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 测绳行业深度研究报告
- 团队任务分配与责任明晰清单
- 中国玻璃小型双边磨边机项目投资可行性研究报告
- 铁盒牌行业深度研究报告
- 中国教学设备安装与维护项目投资可行性研究报告
- 双头直榫开榫机行业深度研究报告
- 受话器膜片行业深度研究报告
- 三轮车后桥齿轮行业深度研究报告
- 平肩内套法兰行业深度研究报告
- 四川省成都市武侯区小学语文四年级第一学期期末考试真卷(含答案)
- 2024年中央机关遴选笔试案例分析一科B类笔试试题真题试卷答案解析
- 工程成本加酬金合同协议
- JJF 2247-2025井水埋深测量仪校准规范
- 国开电大软件工程形考作业3参考答案 (一)
- 修建排水沟合同样本
- 中国浓缩鸡精行业市场发展现状及前景趋势与投资分析研究报告(2024-2030)
- 安全用电知识竞赛题库(100道含答案)
- 云南省昆明市2024年中考数学一模模拟试题(含答案)
- 肾结石的个案护理
- 积极心态与健康心理素养培养主题班会
- 下颌第二前磨牙mandibularsecondpremolar牙冠方圆牙合龈高度近远中径和颊舌
评论
0/150
提交评论