歡迎關注作者博客
簡書傳送門
文章目錄
前言
年前公司一直在討論KNB的未來方向,一開始做好的KNB一期,利用了mysql5.7新特性能夠勉強滿足需求,但針對公司後期業務發展,對拓展性、穩定性、解耦性等要求的不斷提高,年前技術內部討論了一套方案,使用Neo4j圖形數據庫來實現KNB的架構需求。
目前針對Neo4j的開發方式,我還不太瞭解,特此來記錄Neo4j的學習過程,也特別感謝龐國明老師關於Neo4j的課程教授,讓我學習到了很多。
1.1 圖數據庫介紹
圖數據庫(Graph Database)是基於圖論實現的一種新型NoSQL數據庫。它的數據存儲結構和數據的查詢方式都是以圖論爲基礎的。圖論中圖的基本元素爲節點和邊,在圖數據庫中對應的就是節點和關係。
在圖數據庫中,數據與數據之間的關係通過節點和關係構成一個圖結構並在此結構上實現數據庫的所有特性,如對圖數據對象進行創建、讀取、更新、刪除(Create、Read、Update、Delete,簡稱:CRUD)等操作的能力,還有處理事務的能力和高可用性等。
目前市面上較爲流行的圖數據庫產品有以下幾種:
圖數據庫與關係數據庫的對比
1.2 Neo4j介紹
官方網站:https://neo4j.com
Github: https://github.com/neo4j/neo4j
Example: https://github.com/neo4j-examples
Neo4j具備的特性:
1.3 Neo4j安裝與基本操控
1.3.1 Neo4j的安裝部署
由於Neo4j是基於Java虛擬機(Java Virtual Machine,JVM)的產品,所以在安裝前,必須保證已經安裝了Java 虛擬機。
1.3.1.1 Neo4j的版本分類
可訪問Neo4j官方網站:https://neo4j.com/,找到下載鏈接
(1)Neo4j 支持的操作系統
- Windows
- Mac
- Linux
(2)Neo4j 按功能分版本
- 社區版(免費)
- 企業版(收費,適用30天)
(3)Neo4j 按安裝方式分版本
- Desktop版
- Zip、tar 壓縮包版
1.3.1.2 Windows系統下載與安裝
- Desktop版本
- Zip壓縮包版
- 壓縮包版啓動
本文主要講解下壓縮包版啓動:
在命令行下,“以管理員身份運行” 命令提示符。導航到Neo4j的運行目錄\bin下
輸入命令:neo4j,系統會返回關於neo4j 運行命令的相關指令,通過使用“neo4j <指令名>”的格式就可以運行相關操作了,其中的指令名包括:
- console:打開Neo4j的控制檯。
- start:啓動Neo4j。
- stop:關閉Neo4j。
- restart:重啓Neo4j。
- status:查看Neo4j運行狀態。
- install-service:安裝Neo4j在Windows系統上的服務。
- uninstall-service:卸載Neo4j在Windows系統上的服務。
首次安裝Neo4j需要先運行 neo4j install-service命令將Neo4j服務安裝在系統上,然後再運行:neo4j start命令啓動Neo4j,如圖2-17。
當然如果您想要卸載Neo4j,就運行:neo4j uninstall-service命令,這樣Neo4j服務就卸載了。
1.3.1.3 CentOS系統安裝Neo4j
- Desktop安裝
- tar 壓縮包版安裝:
解壓運行/bin/neo4j.sh - Yum安裝:
對於CentOS系統安裝Neo4j,需要手動安裝Yum源。
cd /tmp
wget http://debian.neo4j.org/neotechnology.gpg.key
sudo rpm --import neotechnology.gpg.key
其中cd /tmp 爲導航到系統tmp目錄下;然後使用wget命令將安裝配置文件neotechnology.gpg.key下載到當前目錄;再使用sudo rpm --import neotechnology.gpg.key命令將安裝配置文件導入到系統中。
接下來,文本編輯器創建一個/etc/yum.repos.d/neo4j.repo內容:
[neo4j]
name=Neo4j Yum Repo
baseurl=http://yum.neo4j.org
enabled=1
gpgcheck=1
最後,我們就可以使用yum命令安裝neo4j。
yum install neo4j
至此在CentOS系統下Neo4j已安裝完畢。下面是安裝後Neo4j的文件路徑:
- Neo4j安裝目錄爲:/usr/share/neo4j
- Neo4j的屬性文件所在目錄爲: /etc/neo4j
- Neo4j默認的數據庫文件保存目錄爲: /var/lib/neo4j
我們導航到/usr/share/neo4j/bin 運行目錄下,運行:neo4j start命令就可以啓動neo4j數據庫了。
1.3.1.4 Ubuntu系統安裝Neo4j
- Desktop安裝
- tar壓縮包版安裝:
解壓運行/bin/neo4j.sh - apt-get 安裝
Ubuntu系統下安裝Neo4j非常簡單。
安裝neo4j社區版
sudo apt-get install neo4j
安裝neo4j 企業版
sudo apt-get install neo4j-enterprise
Linux 系統無瀏覽器 初始化 neo4j 密碼
http://neo4j.com.cn/topic/5997c9899fe13f5e0a22128b
neo4j 開啓遠程web訪問7474端口
http://neo4j.com.cn/topic/58e60893412d3d2c19c32de9
1.3.1.5 Mac系統安裝Neo4j
- Desktop 版安裝
Mac系統的dmg安裝相對簡單,只需要將dmg安裝包拖入到名爲“Applications”的應用程序文件夾下就可以了,如圖所示。
- tar壓縮包版安裝
解壓運行/bin/neo4j.sh
1.3.2 Neo4j管理平臺的使用
1.3.2.1 Web管理平臺的使用
當Neo4j安裝完成並用Web端重設密碼後,就可以看到Neo4j的操作界面了,如圖2-23。操作界面主要由三部分組成:命令輸入區、結果顯示區、狀態工具欄。
1.3.2.2 Cypher-shell的使用
某些版本的Linux操作系統不帶有可視化的操作界面(如服務器版本的CentOS、Ubuntu等),在本地無法使用瀏覽器打開Neo4j Web管理平臺。爲此,Neo4j提供了一個可以在命令行狀態下運行命令、返回結果的工具:neo4j-shell。
1.3.2.2.1 使用Cypher–shell
在Cypher -shell命令提示符下直接輸入Cypher命令(以;結束),然後按回車運行即可。
如我使用CREATE (n {name:“World”}) RETURN “hello”, n.name 創建一個節點,然後再用 match (n) return n 查詢出來。