Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中--但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。

Neo4j因其嵌入式、高性能、轻量级等优势,越来越受到关注.

中文名称:Neo4j 图形数据库

类    型:一种非常高效的数据存储结构

外文名称:Neo4j

定    义:面向网络的数据库

属    性:计算机术语

简介

你可以把Neo看作是一个高性能的图引擎,该引擎具有成熟和健壮的数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中--但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。

Neo是一个网络--面向网络的数据库--也就是说,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络上而不是表中。网络(从数学角度叫做图)是一个灵活的数据结构,可以应用更加敏捷和快速的开发模式。

特点

1.对象关系的不匹配使得把面向对象的"圆的对象"挤到面向关系的"方的表"中是那么的困难和费劲,而这一切是可以避免的。

2.关系模型静态、刚性、不灵活的本质使得改变schemas以满足不断变化的业务需求是非常困难的。由于同样的原因,当开发小组想应用敏捷软件开发时,数据库经常拖后腿。

3.关系模型很不适合表达半结构化的数据--而业界的分析家和研究者都认为半结构化数据是信息管理中的下一个重头戏。

4.网络是一种非常高效的数据存储结构。人脑是一个巨大的网络,万维网也同样构造成网状,这些都不是巧合。关系模型可以表达面向网络的数据,但是在遍历网络并抽取信息的能力上关系模型是非常弱的。

虽然Neo是一个比较新的开源项目,但它已经在具有1亿多个节点、关系和属性的产品中得到了应用,并且能满足企业的健壮性和性能的需求:

完全支持JTA和JTS、2PC分布式ACID事务、可配置的隔离级别和大规模、可测试的事务恢复。这些不仅仅是口头上的承诺:Neo已经应用在高请求的24/7环境下超过3年了。它是成熟、健壮的,完全达到了部署的门槛。

图:是指数据原理里的树集合成的网络。

Neo4j是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图(网络)中而不是表中存储数据。Neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图,可以扩展到多台机器并行运行。相对于关系数据库来说,图数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询--在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。通过围绕图进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图的数据量没有任何关系。此外,Neo4j还提供了非常快的图算法、推荐系统和OLAP风格的分析,而这一切在目前的RDBMS系统中都是无法实现的。

由于使用了"面向网络的数据库",人们对Neo充满了好奇。在该模型中,以"节点空间"来表达领域数据--相对于传统的模型表、行和列来说,节点空间是很多节点、关系和属性(键值对)构成的网络。关系是第一级对象,可以由属性来注解,而属性则表明了节点交互的上下文。网络模型完美的匹配了本质上就是继承关系的问题域,例如语义Web应用。Neo的创建者发现继承和结构化数据并不适合传统的关系数据库模型:

最新文章

  1. 移动端重要的几个CSS3属性设置
  2. jquery 将disabled的元素置为enabled的三种方法
  3. 初学PHP
  4. 开始VS 2012中LightSwitch系列的第3部分:我该选择哪一个屏幕模板
  5. 如何在Winform界面中设计图文并茂的界面
  6. JavaSE之概述与基本语法
  7. Codeforces Round #327 (Div. 2)B(逻辑)
  8. mac osx 快捷键符号以及意义 触发角:锁屏
  9. ThinkPHP提交表单判断上传图片经验总结
  10. 解决vs2015使用fopen、fprintf等函数报错的问题
  11. PDF 补丁丁 0.4.1 版:新增嵌入中文字库、替换文档字库的功能
  12. php中header函数参数的 Cache-control:private,no-cache,must-revalidate,max-age 使用方法
  13. Chrome浏览器扩展开发系列之十八:扩展的软件国际化chrome.i18n API
  14. Gerrit的安装和使用说明
  15. ansible结合zabbix_api批量添加主机
  16. uniq的坑坑
  17. python闭包的详细解析
  18. Inno Setup入门(六)——在程序目录下创建文件夹
  19. mongodb学习比较(数据操作篇)
  20. [don't have permission to access]的一个经典原因

热门文章

  1. sublime 3 text 中运行Java
  2. allowMultiQueries=true mybatis 要多行sql执行,一定要注意
  3. vue的一些随笔
  4. gdb常用的调试命令
  5. java课后实验性问题2
  6. 以太坊 Geth 环境搭建(Ubuntu)
  7. Python 自学笔记(一)
  8. django models 关系
  9. mongodb MongoDB C#/.NET driver version
  10. Ambiguous mapping. Cannot map 'appController' method