zoukankan      html  css  js  c++  java
  • 不懂Neo4j?没关系,一起学

    • Neo4j是什么
    • 为什么要用Neo4j
    • 什么场景使用
    • 怎么安装

    一、Neo4j是什么

    首先我们要了解下什么是Neo4j。Neo4j是一个高性能的、NoSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。

    程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。

    上面的介绍比较正式,看了好像有点懵。其实,简单的说,Neo4j就是一个存储节点和边的图数据库,就类似树形结构一样,根节点—>子节点—>子节点。

    二、为什么要用Neo4j

    用MySQL存储的好好的,为啥要用Neo4j,相信很多人都有这个疑惑。

    首先,正如上面所介绍的,Neo4j是一个NoSQL图形数据库。作为一个图形数据库,Neo4j具有以下优点:

    • 灵活。不管有什么新的数据需要存储,Neo4j都是一律的节点和边,只需要考虑节点属性和边属性。但是在MySQL中存储的话需要很多表,并且表之间需要做join操作。
    • 语句简单。相比SQL语句,CQL简单很多(CQL是什么?CQL代表Cypher查询语言,Neo4j将CQL作为查询语言,就像MySQL和SQL的关系一样)
    • 数据库操作的速度并不会随着数据库的增大有明显的降低。这得益于Neo4j特殊的数据存储结构和专门优化的图算法。

    三、什么场景使用

    欺诈检测

    通过图分析可以清楚地知道洗钱网络及相关嫌疑,例如对用户所使用的帐号、发生交易时的IP地址、MAC地址、手机IMEI号等进行关联分析。

    推荐系统

    比如你在淘宝上浏览了Thinkpad T480,它就在下面的猜你喜欢,推荐你Thinkpad E430,Thinkpad T580。

    社交网络图

    社区聚类分析,朋友朋友推荐(就像使用QQ的时候,王姨和你有32个共同好友),社交电商里面的绑定关系。

    身份和访问管理

    使用图形数据库进行身份和访问管理时,可以快速有效地跟踪用户,资产,关系和授权。

    当然,使用场景远远不止这些,具体还要根据特定场景来判断。

    四、怎么安装

    这里以Linux安装为例:

    1.下载社区版Neo4j(目前官网最新版:3.5.14)

    可以官网下载,也可以在我网盘分享的链接下载(链接:https://pan.baidu.com/s/17wIpZuIwTras4HHdPh1uOQ 提取码:rc6e),官网下载是真的慢,所有就分享到网盘了。

    2.解压

    tar -zxvf neo4j-community-3.5.14-unix.tar.gz
    

    3.开启远程访问

    编辑neo4j配置文件

    vim neo4j-community-3.5.14/conf/neo4j.conf
    将 dbms.connectors.default_listen_address=0.0.0.0 前面的注释去掉
    

    4.启动

    进入neo4j的bin目录,./neo4j start,看到以下信息,则说明启动成功了。

    1578232815290

    如果不信的话,咱可以登陆控制台看下:http://IP:7474,默认用户名和密码都是 neo4j。

    1578132275050

    输入完用户名密码,点击 Connect后,可以看到下面界面,是一个修改密码的界面。

    1578132330274

    这样,neo4j 就安装ok了!

    这篇文章就介绍了下基本的,是什么,为什么,怎么做。下篇文章继续介绍,neo4j的基本使用了。

  • 相关阅读:
    NoSQL、memcached介绍、安装memcached、查看memcached状态
    报警系统配置文件
    shell中的函数、数组、报警系统脚本
    for循环、while循环、break、continue、exit
    Shell脚本中的逻辑判断、文件目录属性判断、if的特殊用法、case判断
    Shell脚本、Shell脚本结构、date命令的用法、变量
    zabbix的自动发现、自定义添加监控项目、配置邮件告警
    rabbitMQ中的Vhost理解、创建和使用
    charset编码问题:YAMLException: java.nio.charset.MalformedInputException
    java jna 报错:Unable to load library
  • 原文地址:https://www.cnblogs.com/xbq8080/p/12155191.html
Copyright © 2011-2022 走看看