一部分Neo4j的记录

Neo4j 为什么需要图数据库

随着技术的发展,我们对数据的需求已经不再局限于对数据本身的获取了,我们还需要获取数据与数据间的关系(也就是连接数据).
简单地说,我们可以说图数据库主要用于存储更多的连接数据(因为图结构相比其他数据结构而言,能保存更多的数据间的关系).
如果我们使用RDBMS数据库来存储更多连接的数据,那么它们不能提供用于遍历大量数据的适当性能.在这些情况下,Graph Database提高了应用程序性能.
如今,大多数社交网络应用程序(如Facebook,Google+,Linkedln,Twitter,Yammer等)和视频托管应用程序(如Goggle Youtube,Flickr,Yahoo Video等)都在使用更多连接的数据.
我们将观察什么是连接数据?以及这些应用程序如何与某些实时应用程序存储数据.

Neo4j的特点:

  • 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应用程序

Neo4j的优点:

  • 它很容易表示连接的数据
  • 检索/遍历/导航更多的连接数据是非常容易和快速的
  • 它非常容易地表示半结构化数据
  • Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习
  • 使用简单而强大的数据模型
  • 它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

Neo4j 属性图数据模型
属性图模型规则

  • 表示节点,关系和属性中的数据
  • 节点和关系都包含属性
  • 关系连接节点
  • 属性是键值对
  • 节点用圆圈表示,关系用方向键表示
  • 关系具有方向: 单向和双向
  • 每个关系包含“开始节点”或“从节点”和“到节点”或“结束节点”
posted @ 2024-04-26 17:56  ukyo--BlackJesus  阅读(3)  评论(0编辑  收藏  举报