Neo4j 调研笔记

Table of Contents

本文由作者原创,未经允许禁止转载。联系marcnuth(AT)foxmail.com了解转载事宜。

1 Neo4j 简介

Neo4j 是一个图形数据库,可以看作是NoSQL数据库的一种,它将数据存储在图而不是表中。

Neo4j 具备以下一些特性:

  • 无需预定义的schema
  • 对于高度关联的图形数据,Neo4j的查询速度要比关系型数据库快很多
  • 支持ACID的事务操作

Neo4j 的一切都是围绕着 “图形数据库” 出发,因此,Neo4j并不适用于这样一些传统的场景:

  • 记录无关联的数据,比如用一张表来记录某种事件,或记录日志
  • 存储二进制数据

2 实现原理

2.1 基本数据结构

Neo4j中存在两种基本数据结构,也就是常见构成图的两种元素:

  • Nodes(结点)
  • Relationships(关系/边)

并且,无论是Nodes还是Relationships,都支持 (key, value) 键值对的属性。

2.2 存储模型

neo4j_storage_model.png

tmp_test_removable.png

其中,绿色方块表示节点,灰色椭圆表示属性。

3 Neo4j 使用指南

Author: Marcnuth

Last Updated: 2017-02-24 Fri 15:53