当前位置: 首页 > news >正文

Neo4j入门+深入

目录

一、概述

1、简介

1.1、什么是图数据库(graph database)

1.2、什么是Neo4j

1.3、Neo4j数据模型


一、概述

1、简介

1.1、什么是图数据库(graph database)

        随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,急需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。

        世界上很多著名的公司都在使用图数据库,比如:

社交领域:Facebook、Twitter、Linkedin用它来管理社交关系,实现好友推荐

零售领域:eBay,沃尔玛使用它实现商品实时推荐,给买家更好的购物体验

金融领域:花旗、瑞银等银行在用图数据库做风险处理

汽车制造领域:沃尔沃,丰田等汽车制造商依靠图数据库推动创新制造解决方案

电信领域:Verizon,Orange和AT&T等电信公司依靠图数据库来管理网络,控制访问

酒店领域:万豪和雅高酒店等使用图数据库来管理复杂且快速变化的库存

        图数据库并非指存储图片的数据库,而是以图数据库结构存储和查询数据。

        图数据库是基于图论实现的一种NoSQL数据库,其数据存储结构和数据查询方式都是以图论为基础的,图数据库主要用于存储更多的连接数据。

图论(Graph Theory)是数学的一个分支,它以图为研究对象图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应相应两个事物间具有这种关系。

1.2、什么是Neo4j

Neo4j是一个开源的NoSQL图形数据库,2003年开始开发,使用scala和java语言,2007年开始发布。

        1、是世界上最先进的图数据库之一,提供原生的图数据存储,检索和处理;

        2、采用属性图模型(Property graph model),极大的完善和丰富图数据模型;

        3、专属查询语言Cypher,直观,高效;

Neo4j官网:Neo4j官网

Neo4j的特性:

        1、SQL就像简单的查询语言Neo4j CQL

        2、它遵循属性图数据模型

        3、它通过使用Apache Lucence支持索引

        4、它支持UNIQUE约束

        5、它包含一个用于执行CQL命令的UI;Neo4j数据浏览器

        6、它支持完整的ACID(原子性,一致性,隔离性和持久性)规则

        7、它采用原生图形库与本地GPE(图形处理引擎)

        8、它支持查询的数据导出到JSON和XLS格式

        9、它提供了REST API,可以被任何编程语言(如java,Spring,Scala等)访问

        10、它提供了可以通过任何UI MVC框架(如Node JS)访问的java脚本

        11、它支持两种java API:Cypher API和Native java API来开发java应用程序

Neo4j的优点:

        1、它很容易表示连接的数据

        2、检索/遍历/导航更多的连接数据库是非常容易和快速的

        3、它非常容易地表示半结构化数据

        4、Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习

        5、使用简单而强大的数据模型

        6、它不需要复杂的连接的相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

1.3、Neo4j数据模型

每天⽤⼼记录⼀点点。内容也许不重要,但习惯很重要!

相关文章:

  • 21年icpc上海区域赛B题Strange Permutations (容斥+生成函数)
  • 【CSS】QQ邮箱布局,词典四列布局,行内布局
  • 滑动窗口问题
  • Java的输入 Scanner in=new Scanner(System.in);
  • 接口请求返回状态码
  • Cocos Creator游戏引擎
  • [静态时序分析简明教程(一)] 绪论
  • ADU87、DCB20X-E等设备以RTSP方式添加第三方相机或录像机教程
  • 计算机网络常见面试题汇总(建议收藏)
  • 【从零带你玩转Linux】Linux环境搭建
  • AMBA总线相关知识记录
  • vscode快速安装教程
  • 34、Java 中有了基本数据类型,为什么还需要有包装类型?包装类型是啥?
  • Spring In Action 5 学习笔记 chapter8 RabbitMQ(AMQP)要点
  • K8s有状态应用(StatefulSet)之Mysql集群
  • 【知识碎片】第三方登录弹窗效果
  • 2017年终总结、随想
  • Angular 响应式表单之下拉框
  • eclipse(luna)创建web工程
  • emacs初体验
  • JS专题之继承
  • Linux链接文件
  • MySQL QA
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 解决iview多表头动态更改列元素发生的错误
  • 蓝海存储开关机注意事项总结
  • 前端面试题总结
  • 世界上最简单的无等待算法(getAndIncrement)
  • 手写双向链表LinkedList的几个常用功能
  • k8s使用glusterfs实现动态持久化存储
  • 如何正确理解,内页权重高于首页?
  • 说说我为什么看好Spring Cloud Alibaba
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • (3)STL算法之搜索
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (Oracle)SQL优化技巧(一):分页查询
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (论文阅读30/100)Convolutional Pose Machines
  • (三)c52学习之旅-点亮LED灯
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)jQuery 基础
  • (转载)Google Chrome调试JS
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .htaccess 强制https 单独排除某个目录
  • .NET Core引入性能分析引导优化
  • .NET MVC之AOP
  • .NET 材料检测系统崩溃分析
  • :O)修改linux硬件时间
  • @Documented注解的作用
  • @ModelAttribute 注解
  • [ABC294Ex] K-Coloring
  • [AIGC] SQL中的数据添加和操作:数据类型介绍
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)