溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

圖數(shù)據(jù)庫Neo4j簡介以及安裝部署

發(fā)布時間:2020-07-07 00:38:08 來源:網(wǎng)絡(luò) 閱讀:2079 作者:jinyan2049 欄目:數(shù)據(jù)庫

Neo4j 是當(dāng)今市場圖數(shù)據(jù)庫的領(lǐng)袖, 它具有可伸縮性和高可用性等企業(yè)級功能,是滿足我們需求的最佳選擇.


圖數(shù)據(jù)庫解決哪類問題?

為什么選擇Neo4j?


關(guān)系型數(shù)據(jù)庫不能很好地處理關(guān)系

圖數(shù)據(jù)庫Neo4j簡介以及安裝部署


NoSQL 數(shù)據(jù)庫不處理關(guān)系

圖數(shù)據(jù)庫Neo4j簡介以及安裝部署


圖數(shù)據(jù)庫Neo4j簡介以及安裝部署

圖數(shù)據(jù)庫Neo4j簡介以及安裝部署


圖數(shù)據(jù)庫Neo4j簡介以及安裝部署

圖數(shù)據(jù)庫Neo4j簡介以及安裝部署


Neo4j是基于Java的圖形數(shù)據(jù)庫,運(yùn)行Neo4j需要啟動JVM進(jìn)程,因此必須安裝JAVA SE的JDK


#第一步:安裝jdk


wget?-c?http://download.cashalo.com/schema/auto_jdk.sh
source?auto_jdk.sh

#第二步:執(zhí)行如下自動化安裝腳本



#!/bin/bash
#neo4j?安裝
#1)設(shè)置hosts綁定
IP=`ifconfig|sed?-n?2p|awk?'{print?$2}'|cut?-d?":"?-f2`
echo?"$IP?neo4j"?>>/etc/hosts
#2)下載安裝neo4j
cd?/home/tools
wget?-c?https://neo4j.com/artifact.php?name=neo4j-community-3.4.14-unix.tar.gz
tar?zxvf?artifact.php\?name\=neo4j-community-3.4.14-unix.tar.gz?-C?/usr/local/
ln?-s?/usr/local/neo4j-community-3.4.14?/usr/local/neo4j-community
#3)配置環(huán)境變量
cat?>/etc/profile.d/neo4j?<<EOF
export?NEO4J_HOME=/usr/local/neo4j
export?PATH=\$PATH:\$NEO4J_HOME/bin
EOF
source?/etc/profile.d/neo4j
#4)?配置資源
sed?-i?'s/#dbms.memory.heap.initial_size=512m/dbms.memory.heap.initial_size=2048m/g'?/usr/local/neo4j-community/conf/neo4j.conf
sed?-i?'s/#dbms.memory.heap.max_size=512m/dbms.memory.heap.max_size=2048m/g'?/usr/local/neo4j-community/conf/neo4j.conf
sed?-i?'s/#dbms.connectors.default_listen_address=0.0.0.0/dbms.connectors.default_listen_address=neo4j/g'?/usr/local/neo4j-community/conf/neo4j.conf
#5)?配置neo4j啟動腳本
cat?>/etc/init.d/neo4j?<<EOF
#!/bin/bash
###?BEGIN?REDHAT?INFO
#?chkconfig:?2345?99?20
#?description:?Neo4j?Graph?Database?server
SCRIPTNAME=\$0
NEO4J_CONF=/usr/local/neo4j-community/conf
NEO4J_HOME=/usr/local/neo4j-community
NEO_USER=root
NEO4J_ULIMIT_NOFILE=60000
PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME=neo4j
DAEMON=\${NEO4J_HOME}/bin/\${NAME}
PIDDIR=\${NEO4J_HOME}/run
PIDFILE=\${PIDDIR}/neo4j.pid
SCRIPTNAME=/etc/init.d/\${NAME}
SYSTEMCTL_SKIP_REDIRECT=1
[?-x?"\$DAEMON"?]?||?exit?0
#[?-r?\${NEO4J_CONF}/\${NAME}.conf?]?&&?.?\${NEO4J_CONF}/\${NAME}.conf
[?-n?"\${NEO_USER}"?]?||?NEO_USER=\${NAME}
#?Debian?distros?and?SUSE
has_lsb_init()
{
??test?-f?"/lib/lsb/init-functions"
}
#?RedHat/Centos?distros
has_init()
{
??test?-f?"/etc/init.d/functions"
}
if?has_lsb_init?;?then
??.?/lib/lsb/init-functions
elif?has_init?;?then
??.?/etc/init.d/functions
else
??echo?"Error:?your?platform?is?not?supported?by?\${NAME}"?>&2
??exit?1
fi
do_start()
{
??do_ulimit
??[?-d?"\${PIDDIR}"?]?||?mkdir?-p?"\${PIDDIR}"
??chown?"\${NEO_USER}:"?"\${PIDDIR}"
??if?has_lsb_init?;?then
????start-stop-daemon?--chuid?\${NEO_USER}?--start?--quiet?--oknodo?--pidfile?\${PIDFILE}?--exec?\${DAEMON}?--?start
??else
????daemon?--user="\${NEO_USER}"?--pidfile="\${PIDFILE}"?"\${DAEMON}?start?>?/dev/null?2>&1?&"
??fi
}
do_stop()
{
??\${DAEMON}?stop
}
do_status()
{
??if?has_lsb_init?;?then
????status_of_proc?-p?"\${PIDFILE}"?"\${DAEMON}"?"\${NAME}"
??else
????status?-p?"\${PIDFILE}"?"\${NAME}"
??fi
}
do_ulimit()
{
??if?[?-n?"\${NEO4J_ULIMIT_NOFILE}"?];?then
????ulimit?-n?"\${NEO4J_ULIMIT_NOFILE}"
??fi
}
case?"\$1"?in
??start)
????do_start
????;;
??stop)??????????????????????????????????????????????????????????
????do_stop
????;;
??status)
????do_status
????;;
??restart|force-reload)
????do_stop?&&?do_start
????;;
??*)
????echo?"Usage:?\$SCRIPTNAME?{start|stop|status|restart|force-reload}"?>&2
????exit?3
????;;
esac
EOF
#6)?設(shè)置權(quán)限
chmod?+x?/etc/init.d/neo4j
#7)?啟動neo4j
service?neo4j?start
#8)?配置開機(jī)自啟動
chkconfig?neo4j?on



進(jìn)入瀏覽器的7474界面


圖數(shù)據(jù)庫Neo4j簡介以及安裝部署




Cypher 語言

“Cypher”是一個描述性Sql圖操作語言。相當(dāng)于關(guān)系數(shù)據(jù)庫的Sql,可見其重要性!

其語法針對圖的特點(diǎn)而設(shè)計(jì),非常方便和靈活。

沒有Join,是一大特點(diǎn)!


Cypher是一個申明式查詢語言,適合于開發(fā)者和在數(shù)據(jù)庫上做點(diǎn)對點(diǎn)模式(ad-hoc)查詢。


Cypher通過一系列不同的方法和建立于確定的實(shí)踐為表達(dá)查詢而激發(fā)的。許多關(guān)鍵字如likeorder by是受SQL的啟發(fā)。正則表達(dá)式匹配實(shí)現(xiàn)模仿Scala 語言。

學(xué)好Cypher是學(xué)好Neo4j的關(guān)鍵,也是核心所在!


Create語法

create (n:Person {id:'20140101',name:'王五',age:30,card:123456})

相當(dāng)于關(guān)系Sql的:

Create table Person(

? id varchar2,

? name varchar2,

? age number,

? card number );

Insert into Person values(‘20140101’,’王五’,30,123456);


Neo4j 字段類型

圖數(shù)據(jù)庫Neo4j簡介以及安裝部署


Match

Match查詢語法

?? Match 相當(dāng)于select


MATCH (n:Person) RETURN n limit 25

等價于:

Select * from Person limit 25







向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI