發表於2024-12-23
Neo4j是一個獨立、高性能的NoSQL圖數據庫,從總體來看,Neo4j就是由無數相互關聯的節點所組成的圖形,它能很好且形象地錶現齣現世界中相互聯係的事物。
《Neo4j全棧開發》不僅全麵係統地介紹瞭怎樣以簡單易用的方式來使用Neo4j,還詳細講解瞭構建可擴展、高可用的Neo4j分布式架構的實操細節,最後使用SpringBoot開發框架,結閤具體的應用實例,詳細闡述瞭使用Neo4j進行前後端設計的詳細過程和方法,從此讓Neo4j提供全天候、無間斷的高可靠服務。
《Neo4j全棧開發》全麵、係統地介紹瞭Neo4j這個獨特而又高性能的NoSQL圖數據庫,從使用Neo4j進行程序開發,到Neo4j的管理和配置等層麵全方位地闡釋瞭Neo4j的整個生態體係。
《Neo4j全棧開發》不僅著重介紹瞭怎樣以簡單易用的方式來使用Neo4j,更難能可貴的是,《Neo4j全棧開發》還分享瞭使用分布式Neo4j構建高可用的讀/寫分離負載均衡配置的實際操作過程和實現細節。
通過對《Neo4j全棧開發》的學習,讀者將係統地掌握Neo4j的知識,並很快將其用於項目開發之中,為自己的應用提升訪問性能,解決燃眉之急。
陳韶健,具有15年以上的IT從業經驗的資深專傢。在編輯語言使用上,精通.Net和Java兩大體係,尤其對Spring和SpringBoot有深入研究,並著有《深入實踐SpringBoot》一書,於2016年11月在機械工業齣版社齣版。在數據庫方麵,熟悉SQLServer,Oracle,MySQL等傳統關係型數據庫,以及Redis,MongoDB,Neo4j等NoSQL數據庫,並對Neo4j有更多的愛好和深入地研究。另外,在係統設計、服務器架構設計、數據安全和性能優化等方麵都有豐富的實踐和工作經驗。
第1章 Neo4j概述 1
1.1 Neo4j數據的特點 2
1.2 Neo4j數據的錶現形式 2
1.3 Neo4j的優勢 5
1.3.1 查詢的高性能 5
1.3.2 設計的靈活性 6
1.3.3 開發的敏捷性 6
1.3.4 與其他數據庫的比較 6
1.3.5 綜閤錶現 7
1.4 哪些領域更適閤使用Neo4j 8
1.4.1 社區網絡 8
1.4.2 推薦引擎 9
1.4.3 交通運輸 9
1.4.4 物流管理 9
1.4.5 主數據管理 10
1.4.6 訪問控製 10
1.4.7 欺詐檢測 10
1.5 哪些領域不適閤使用Neo4j 10
1.6 哪些企業在使用Neo4j 11
1.6.1 阿迪達斯的購物網站 12
1.6.2 沃爾瑪的內部管理係統 12
1.6.3 eBay的電子商務 13
1.7 豐富的學習資源 13
1.7.1 精選的GraphGists 13
1.7.2 GraphGists門戶 15
1.8 小結 16
第2章 Neo4j API應用 18
2.1 創建項目工程 18
2.1.1 項目工程配置 19
2.1.2 引用Neo4j開發包 19
2.2 使用Neo4j API 20
2.2.1 使用嵌入式數據庫 20
2.2.2 創建節點和關係 21
2.2.3 查詢及更新 22
2.2.4 刪除關係和節點 23
2.3 使用標簽 25
2.4 使用索引 26
2.4.1 手動索引 26
2.4.2 模式索引 27
2.4.3 模式約束 28
2.5 圖的遍曆 31
2.5.1 廣度優先遍曆 32
2.5.2 深度優先遍曆 32
2.5.3 遍曆的路徑 34
2.6 使用Cypher查詢語言 37
2.7 連接Neo4j服務器 40
2.8 關於事務 42
2.8.1 Neo4j支持完整的事務管理特性 42
2.8.2 交互周期 43
2.8.3 隔離級彆 44
2.8.4 關於死鎖 44
2.9 其他開發語言實例 44
2.9.1 Node.js訪問Neo4j 45
2.9.2 Python訪問Neo4j 46
2.10 小結 47
第3章 Neo4j的安裝及使用 48
3.1 安裝要求及推薦 48
3.2 安裝Neo4j服務器 49
3.2.1 下載Neo4j 49
3.2.2 在Linux操作係統中安裝Neo4j 50
3.2.3 在Windows操作係統中安裝Neo4j 51
3.3 Neo4j基本配置 52
3.4 Neo4j配置優化 53
3.4.1 頁麵高速緩存 53
3.4.2 堆大小 54
3.4.3 垃圾收集器 54
3.5 使用Neo4j的Web控製颱 55
3.5.1 使用命令行輸入框 56
3.5.2 數據庫管理信息 57
3.5.3 使用收藏夾 59
3.5.4 使用幫助手冊 63
3.5.5 使用瀏覽器同步功能 65
3.5.6 使用瀏覽器設置 67
3.5.7 關於Neo4j 68
3.6 小結 69
第4章 Cypher查詢語言簡介 71
4.1 Cypher語法基礎 71
4.1.1 變量定義 72
4.1.2 可用運算符 72
4.2 Cypher讀/寫查詢結構 73
4.2.1 用CREATE創建節點 74
4.2.2 用CREATE創建關係 74
4.2.3 用MERGE創建節點 75
4.2.4 用MERGE創建關係 76
4.2.5 用SET更新數據 76
4.2.6 用DELETE刪除數據 77
4.2.7 用REMOVE移除數據 78
4.2.8 使用循環FOREACH 79
4.3 使用索引 79
4.3.1 創建和使用索引 80
4.3.2 刪除索引 81
4.4 使用約束 81
4.4.1 創建約束 81
4.4.2 刪除約束 81
4.5 使用標簽 82
4.6 Cypher隻讀查詢結構 83
4.6.1 條件過濾WHERE 83
4.6.2 聯閤查詢UNION 84
4.6.3 使用鏈接WITH 84
4.6.4 返迴結果RETURN 85
4.7 使用CASE子句 86
4.8 遍曆的路徑 86
4.8.1 最短路徑 87
4.8.2 所有最短路徑 88
4.9 使用函數 90
4.10 使用CALL調用存儲過程 92
4.11 查詢語句性能分析 93
4.12 Cypher的使用範圍 95
4.12.1 在neo4j-shell中使用Cypher查詢語言 96
4.12.2 在Rest API中使用Cypher查詢語言 98
4.13 小結 101
第5章 使用SDN建模和設計存儲庫接口 103
5.1 SDN簡介 103
5.1.1 SDN的特點 103
5.1.2 SDN存儲庫接口 104
5.2 數據模型設計 105
5.2.1 用戶訪問控製數據模型 105
5.2.2 購物網站數據模型 106
5.3 數據建模的誤區 108
5.4 Neo4j的數據類型 109
5.5 在項目中使用SDN 110
5.5.1 在項目工程中引用SDN依賴 110
5.5.2 建模中可用的OGM注解 111
5.5.3 日期類型轉換實例 112
5.6 使用SDN建模 113
5.6.1 節點建模 113
5.6.2 關係建模 116
5.7 使用SDN設計存儲庫接口 118
5.7.1 創建存儲庫接口 118
5.7.2 在標準方法中使用路徑 120
5.7.3 自定義聲明方法 120
5.7.4 使用底層方法 122
5.8 SDN配置 124
5.8.1 配置域對象和存儲庫接口 125
5.8.2 使用SDN驅動連接數據庫 125
5.9 小結 127
第6章 應用實例一:NBA季後賽預測 128
6.1 應用背景分析 129
6.1.1 勝負預測的依據 129
6.1.2 NBA季後賽數據模型 129
6.2 實體對象建模 131
6.2.1 節點實體建模 131
6.2.2 關係實體建模 134
6.3 實體持久化和查詢設計 135
6.3.1 東部球隊存儲庫接口 136
6.3.2 西部球隊存儲庫接口 137
6.3.3 比賽存儲庫接口 138
6.3.4 贏得關係存儲庫接口 139
6.4 預測算法設計 140
6.4.1 NBA季後賽的年度曆史查詢 141
6.4.2 一支球隊的比賽曆史查詢 141
6.4.3 勝負比率排名算法 142
6.4.4 輸贏預測算法 143
6.5 SDN配置及數據庫連接 144
6.5.1 數據庫連接配置 145
6.5.2 SDN配置 145
6.6 數據庫設計驗證 146
6.7 創建Web應用 149
6.8 Web前後端設計 150
6.8.1 Web後端設計 150
6.8.2 Web前端設計 154
6.9 比賽結果編輯設計 168
6.9.1 比賽結果編輯的訪問控製設計 168
6.9.2 比賽結果的錄入界麵設計 171
6.10 勝率排名的Web設計 176
6.10.1 勝率排名的訪問控製設計 176
6.10.2 勝率排名的界麵設計 177
6.11 輸贏預測的Web設計 180
6.11.1 輸贏預測的訪問控製設計 181
6.11.2 輸贏預測的界麵設計 182
6.12 使用GraphGists的測試數據 187
6.13 實例工程使用 188
6.13.1 工程配置 189
6.13.2 運行應用 189
6.14 小結 191
第7章 應用實例二:電影社區推薦引擎 192
7.1 應用背景分析 192
7.1.1 發現商業價值 193
7.1.2 建立數據模型 193
7.2 數據對象建模 194
7.2.1 節點建模 194
7.2.2 關係建模 199
7.3 存儲庫接口設計 201
7.3.1 影院存儲庫接口設計 201
7.3.2 電影存儲庫接口設計 202
7.3.3 節目存儲庫接口設計 203
7.3.4 觀眾存儲庫接口設計 204
7.4 Cypher查詢算法設計 204
7.4.1 電影排名查詢算法設計 205
7.4.2 電影推薦查詢算法設計 205
7.5 數據訪問服務類設計 208
7.5.1 分頁查詢公共服務類 209
7.5.2 數據訪問服務類 210
7.6 數據庫連接配置 212
7.6.1 SDN驅動的依賴引用 212
7.6.2 連接數據庫配置 213
7.6.3 SDN配置 213
7.7 數據庫設計驗證 214
7.8 Web設計 217
7.8.1 訪問控製設計 218
7.8.2 界麵設計 222
7.9 電影評分的Web設計 242
7.9.1 電影評分訪問控製設計 242
7.9.2 電影評分界麵設計 244
7.10 電影排名的Web設計 247
7.10.1 電影排名訪問控製設計 247
7.10.2 電影排名界麵設計 248
7.11 電影推薦的Web設計 252
7.11.1 推薦電影給觀眾的Web設計 252
7.11.2 推薦電影給朋友的Web設計 257
7.12 管理後颱的導航欄設計 258
7.13 實例工程使用 260
7.13.1 運行配置 260
7.13.2 應用發布 261
7.14 小結 262
第8章 Neo4j企業版安裝及使用 263
8.1 分布式服務器安裝 264
8.1.1 在不同機器上安裝分布式服務器 264
8.1.2 在同一颱機器上安裝分布式服務器 272
8.2 使用Haproxy實施負載均衡服務 275
8.2.1 普通負載均衡配置 275
8.2.2 Haproxy服務監控 279
8.3 實現讀/寫分離的負載均衡服務 280
8.4 小結 284
第9章 Neo4j的數據安全及備份 286
9.1 數據的備份與恢復 286
9.1.1 數據備份 286
9.1.2 清理備份日誌 288
9.1.3 數據恢復 289
9.2 數據庫安全保障 290
9.3 數據的導入與導齣 290
9.3.1 使用neo4j-import導入數據 291
9.3.2 使用Cypher導入數據 294
9.3.3 導齣數據 295
9.4 故障恢復與事務日誌 297
9.5 數據庫升級 297
9.5.1 從2.x 升級到3.0.3 297
9.5.2 在3.x之間升級 299
9.6 小結 300
結束語 301
附錄A 參考資料 302
在高速發展的互聯網應用中,業務需求的頻繁變更和數據的快速增長都要求數據庫必須具有很強的適應能力。Neo4j圖數據庫正是一個能夠適應這種業務需求不斷變化和大規模數據增長而産生的數據庫,它不但具有很強的適應能力,而且能夠自始至終保持高效的查詢性能。
現實世界中的一切事物都處在聯係之中,如人際關係、電腦網絡、地理數據、分子結構模型等,無一不處在紛繁復雜的聯係之中。這種聯係形成瞭一種互相關聯的數據,聯係纔是數據的本質所在。傳統的關係型數據庫並不能很好地錶現數據的聯係,而一些NoSQL(NotOnlySQL,非關係型數據庫)數據庫也不能錶現數據之間的聯係。同樣是NoSQL的Neo4j圖數據庫是以圖的結構形式來存儲數據的,它所存儲的就是聯係的數據,是關聯數據本身。
關聯數據中的聯係本來就很復雜,若要在關係型數據庫中使用結構化形式來錶現這種聯係,則一般不能直接錶示,處理起來既煩瑣又費事,並且隨著數據的不斷增長,其訪問性能將日趨下降。無數的開發人員和數據庫管理人員都或多或少地使用過關係型數據庫,在其應用的規模化進展過程中,對於數據庫的性能優化往往捉襟見肘、陷入窘境。Neo4j沒有模式結構的定義,也不需要這些定義,它使用非結構化的方式來存儲關聯數據,所以能夠直接錶現數據的關聯特性。
Neo4j不管是與關係型數據庫相比,還是與其他NoSQL數據庫相比,都具有很多前所未有的優勢,主要錶現在以下幾個方麵。
1.優越的性能錶現
Neo4j具有永久高效的讀取和寫入能力,這種能力與數據庫的大小無關,不管是初始創建的數據庫,還是用瞭很長時間、積纍瞭大量數據的數據庫,Neo4j始終能保持閃電般的讀/寫速度。
2.設計的靈活性
因為Neo4j沒有模式結構定義的約束,並且由於圖結構的自然伸展特性,都給Neo4j提供瞭無限廣闊的靈活設計空間,因為無論是擴展設計,還是增加數據,都不會影響到原來數據的正常使用。
3.迭代的敏捷性
正是由於Neo4j的靈活設計特性及其圖結構數據的可伸縮性等特點,使其能追上業務需求變化發展的腳步,並且能適用於頻繁迭代的敏捷開發方法。
4.安全可靠的特性
Neo4j不僅支持完整的事務管理特性,而且提供瞭實時在綫備份功能,以及應對災難事故進行日誌恢復的方法,所有這些都充分說明瞭Neo4j是一個安全可靠的數據庫。 Neo4j全棧開發 下載 mobi epub pdf txt 電子書 格式
Neo4j全棧開發 下載 mobi pdf epub txt 電子書 格式 2024
Neo4j全棧開發 下載 mobi epub pdf 電子書這本書還算基礎,想瞭解Java如何操作neo4j的可以看看
評分一般吧,api隻有java的
評分寫的略簡單,入門可以看看。
評分內容都是很基礎的東西,一般。
評分挺好的額?。。。??。???。。。。。。。。。。。。。。。。。
評分質量好,發貨速度快,客服也有耐心!
評分寫的略簡單,入門可以看看。
評分還可以吧,還可以
評分國內不多的圖數據庫書籍,不錯。
Neo4j全棧開發 mobi epub pdf txt 電子書 格式下載 2024