图数据库:
Traversal(遍历 跨过)
图数据库的设计架构:
各模块功能说明如下:
查询和计算:最终用户用于在此语言基础之上进行图的遍历和查询,最终返回运行结果,如能提供RESTful API则能给开发者提供不少便利之处。
操作和运维:用于系统实时监控,例如系统配置、安装、升级、运行时监控,甚至包括可视化界面等。
数据加载:包括离线数据加载和在线数据加载,既可以是批量的数据加载,也可以是流数据加载方式。
图数据库核心:主要包括图存储和图处理引擎这两个核心。
图处理引擎负责实时数据更新和执行图运算;
图存储负责将关系型数据及其他非结构化数据转换成图的存储格式;
HA服务负责处理处理数据容错、数据一致性以及服务不间断等功能。
图数据库:Neo4J中的声明式查询语言:Cypher语言
Cypher语句 允许使用变量用于表示命名、绑定元素、参数等。
可以对节点、标签、关系、属性进行创建、匹配、更新和删除的操作、Cypher还可以管理索引和约束。
Neo4j数据库的优势
1.在创建节点的时候就已经把关系给建立起来,避免了在复杂查询场景下的处理
2.由于底层直接以图的形式存储节点和关系,在查询的时候可以使时间复杂度保持在常数级别。
3.基于JVM实现
4.提供一套易于理解的查询语言Cypher以及内置的可视化UI
5.很好的支持ACID,有事务机制
Neo4j常用使用场景
社交网络
基于图的搜索
推荐引擎
企业基础设施及网络架构