NoSQL數(shù)據(jù)庫應(yīng)用與實踐
定 價:56 元
- 作者:張倩
- 出版時間:2025/5/1
- ISBN:9787121501395
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.132.3
- 頁碼:248
- 紙張:
- 版次:01
- 開本:16開
NoSQL數(shù)據(jù)庫以其獨特的數(shù)據(jù)模型和擴展方式,為大數(shù)據(jù)和人工智能等領(lǐng)域提供了強有力的支持。本書基于Windows 10及以上操作系統(tǒng)編寫,介紹NoSQL數(shù)據(jù)庫的基礎(chǔ)知識及其在開發(fā)中的應(yīng)用。全書共14章,第1章介紹NoSQL數(shù)據(jù)庫的基礎(chǔ)知識;第2章介紹鍵值對存儲數(shù)據(jù)庫Redis;第3章介紹列式存儲數(shù)據(jù)庫HBase;第4章介紹圖形存儲數(shù)據(jù)庫Neo4j;第5章介紹文檔存儲數(shù)據(jù)庫MongoDB;第6章介紹MongoDB文檔的增刪改查;第7章~第10章分別介紹MongoDB數(shù)據(jù)庫中索引、排序與分頁、權(quán)限機制、MapReduce與GridFS的相關(guān)知識;第11章介紹MongoDB的客戶端軟件;第12章介紹Python與MongoDB的相關(guān)知識;第13章介紹Django與MongoDB的相關(guān)知識;第14章通過綜合案例介紹MongoDB在數(shù)據(jù)分析中的使用。
張倩,濟南職業(yè)學(xué)院計算機分院人工智能教研室副主任,主要從事機器學(xué)習(xí)、深度神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)庫技術(shù)等課程的授課工作。曾獲山東省教學(xué)能力比賽二等獎,主編、副主編《網(wǎng)絡(luò)管理標(biāo)準(zhǔn)教程》《Python Web項目開發(fā)教程(Django版)》《PHP程序設(shè)計案例教程》等教材,承擔(dān)多項課題研究工作。
第1章 認識NoSQL數(shù)據(jù)庫 1
1.1 人工智能時代下的數(shù)據(jù) 1
1.2 NoSQL數(shù)據(jù)庫 2
1.2.1 NoSQL數(shù)據(jù)庫概述 2
1.2.2 NoSQL數(shù)據(jù)庫的起源 2
1.3 關(guān)系數(shù)據(jù)庫與非關(guān)系數(shù)據(jù)庫 2
1.3.1 關(guān)系數(shù)據(jù)庫 2
1.3.2 非關(guān)系數(shù)據(jù)庫 3
1.3.3 關(guān)系數(shù)據(jù)庫與非關(guān)系數(shù)據(jù)庫的比較 4
1.4 NoSQL基礎(chǔ)理論 5
1.4.1 CAP理論 5
1.4.2 BASE理論 5
1.4.3 最終一致性 6
1.5 NoSQL數(shù)據(jù)庫的分類 6
1.5.1 鍵值對存儲數(shù)據(jù)庫 6
1.5.2 列式存儲數(shù)據(jù)庫 7
1.5.3 圖形存儲數(shù)據(jù)庫 7
1.5.4 文檔存儲數(shù)據(jù)庫 8
1.5.5 不同NoSQL數(shù)據(jù)庫之間的對比 8
1.6 項目實踐:探索NoSQL數(shù)據(jù)庫 9
本章小結(jié) 10
課后習(xí)題 10
項目實訓(xùn) 10
第2章 鍵值對存儲數(shù)據(jù)庫Redis 11
2.1 認識Redis 11
2.1.1 Redis概述 11
2.1.2 Redis的特點和用途 12
2.1.3 安裝Redis 12
2.2 Python操作Redis 14
2.2.1 環(huán)境準(zhǔn)備 14
2.2.2 導(dǎo)入Redis模塊 15
2.2.3 創(chuàng)建Redis客戶端實例 15
2.3 數(shù)據(jù)操作 15
2.3.1 鍵值對操作 15
2.3.2 哈希表操作 17
2.3.3 列表操作 19
2.3.4 集合操作 20
2.3.5 有序集合操作 21
2.3.6 發(fā)布與訂閱操作 22
2.4 高級功能 23
2.4.1 事務(wù)操作 23
2.4.2 過期時間和持久化 24
2.4.3 分布式鎖 24
2.5 項目實踐:通過Python操作Redis實現(xiàn)分布式鎖 25
本章小結(jié) 26
課后習(xí)題 26
項目實訓(xùn) 27
第3章 列式存儲數(shù)據(jù)庫HBase 28
3.1 認識HBase 28
3.1.1 HBase概述 28
3.1.2 HBase的應(yīng)用場景 29
3.2 HBase的數(shù)據(jù)模型 30
3.2.1 HBase的數(shù)據(jù)存儲結(jié)構(gòu) 30
3.2.2 HBase的數(shù)據(jù)存儲概念 31
3.2.3 HBase的基本架構(gòu) 32
3.3 HBase安裝部署 33
3.3.1 環(huán)境準(zhǔn)備 33
3.3.2 安裝HBase 38
3.3.3 啟動HBase 39
3.4 HBase的Shell操作 41
3.4.1 基本操作 41
3.4.2 表的相關(guān)操作 41
3.5 Python操作HBase 44
3.5.1 環(huán)境準(zhǔn)備 44
3.5.2 操作HBase 45
3.6 項目實踐:設(shè)計水費繳費明細表 47
本章小結(jié) 49
課后習(xí)題 50
項目實訓(xùn) 50
第4章 圖形存儲數(shù)據(jù)庫Neo4j 51
4.1 認識Neo4j 51
4.1.1 Neo4j概述 51
4.1.2 Neo4j的數(shù)據(jù)模型 53
4.2 Neo4j安裝部署 54
4.2.1 環(huán)境準(zhǔn)備 54
4.2.2 安裝Neo4j 55
4.3 Cypher操作 57
4.3.1 創(chuàng)建數(shù)據(jù) 57
4.3.2 查詢數(shù)據(jù) 59
4.3.3 創(chuàng)建關(guān)系 60
4.3.4 where條件 60
4.3.5 刪除關(guān)系與節(jié)點 61
4.3.6 刪除屬性 62
4.4 Python操作Neo4j 62
4.4.1 環(huán)境準(zhǔn)備 62
4.4.2 連接Neo4j數(shù)據(jù)庫 63
4.4.3 節(jié)點操作 63
4.5 項目實踐:使用Python創(chuàng)建課程知識圖 66
本章小結(jié) 67
課后習(xí)題 67
項目實訓(xùn) 67
第5章 文檔存儲數(shù)據(jù)庫MongoDB 69
5.1 MongoDB概述 69
5.2 MongoDB的應(yīng)用 70
5.2.1 應(yīng)用場景和特點 70
5.2.2 什么時候選擇MongoDB 71
5.3 MongoDB的數(shù)據(jù)庫組織結(jié)構(gòu) 71
5.3.1 MongoDB的三個概念 72
5.3.2 MongoDB的組織結(jié)構(gòu) 72
5.3.3 MongoDB的數(shù)據(jù)類型 72
5.4 在Windows系統(tǒng)下安裝和啟動 73
5.4.1 環(huán)境準(zhǔn)備 73
5.4.2 安裝軟件 74
5.5 在Linux系統(tǒng)下安裝和啟動 76
5.5.1 創(chuàng)建列表文件 76
5.5.2 更新安裝包列表 76
5.5.3 安裝MongoDB 77
5.5.4 啟動MongoDB 77
5.6 MongoDB的基本命令 78
5.6.1 查看數(shù)據(jù)庫 78
5.6.2 使用數(shù)據(jù)庫 78
5.6.3 刪除數(shù)據(jù)庫 79
5.6.4 集合 80
5.6.5 集合的相關(guān)操作 81
本章小結(jié) 82
課后習(xí)題 82
項目實訓(xùn) 83
第6章 MongoDB文檔的增刪改查 84
6.1 MongoDB文檔 84
6.1.1 文檔的鍵和值 84
6.1.2 文檔的ID 85
6.2 增加數(shù)據(jù) 85
6.2.1 增加一條數(shù)據(jù) 85
6.2.2 自定義ID值 86
6.2.3 增加多條數(shù)據(jù) 87
6.3 查詢數(shù)據(jù) 88
6.3.1 查詢 88
6.3.2 查詢中的算術(shù)運算符 89
6.3.3 查詢中的邏輯運算符 91
6.3.4 文檔中的數(shù)組 94
6.3.5 其他查詢 97
6.3.6 常用函數(shù) 100
6.4 修改數(shù)據(jù) 101
6.4.1 常用修改器 101
6.4.2 數(shù)組修改器 106
6.5 刪除數(shù)據(jù) 110
6.6 時間類型 111
6.6.1 new Date()函數(shù) 111
6.6.2 ISODate()函數(shù) 111
6.6.3 Date()函數(shù) 113
6.6.4 valueOf()方法 114
6.7 Null類型 114
6.8 項目實踐:增刪改查綜合練習(xí) 115
本章小結(jié) 117
課后習(xí)題 117
項目實訓(xùn) 117
第7章 索引 119
7.1 數(shù)據(jù)庫中的索引 119
7.2 索引的優(yōu)缺點 120
7.3 索引的相關(guān)操作 120
7.3.1 創(chuàng)建索引 121
7.3.2 刪除索引 121
7.4 其他索引 122
7.4.1 復(fù)合索引 122
7.4.2 唯一索引 123
7.4.3 稀疏索引 123
7.4.4 分析索引 124
7.5 項目實踐:使用bookshop數(shù)據(jù)練習(xí)索引操作 125
本章小結(jié) 132
課后習(xí)題 132
項目實訓(xùn) 132
第8章 排序與分頁 134
8.1 排序 134
8.1.1 sort()函數(shù) 134
8.1.2 復(fù)合排序 135
8.2 分頁 136
8.2.1 limit()函數(shù)與skip()函數(shù) 136
8.2.2 分頁實踐 138
8.3 聚合查詢 139
8.3.1 常用管道 139
8.3.2 常用表達式 139
8.3.3 聚合管道的使用 139
8.4 項目實踐:使用聚合操作處理數(shù)據(jù) 140
8.4.1 $match過濾數(shù)據(jù) 141
8.4.2 $project字段投影 141
8.4.3 $count計數(shù) 143
8.4.4 $limit與$skip 143
8.4.5 $sort聚合排序 146
8.4.6 $group分組查詢 147
本章小結(jié) 149
課后習(xí)題 150
項目實訓(xùn) 150
第9章 權(quán)限機制 151
9.1 權(quán)限分配 151
9.2 安裝驗證服務(wù) 152
9.3 用戶登錄驗證 154
9.4 備份還原 160
9.4.1 下載備份還原工具 160
9.4.2 備份數(shù)據(jù)mongodump 161
9.4.3 還原數(shù)據(jù)mongorestore 161
9.5 項目實踐:備份還原數(shù)據(jù)庫 162
本章小結(jié) 164
課后習(xí)題 164
項目實訓(xùn) 165
第10章 MapReduce與GridFS 166
10.1 認識MapReduce 166
10.1.1 MapReduce概述 166
10.1.2 MapReduce的格式定義 167
10.2 文件存儲 170
10.2.1 存儲方式 170
10.2.2 GridFS 170
10.3 項目實踐:上傳與下載PDF文件 173
本章小結(jié) 174
課后習(xí)題 174
項目實訓(xùn) 175
第11章 客戶端軟件 176
11.1 MongoDB Compass 176
11.1.1 創(chuàng)建數(shù)據(jù)庫 177
11.1.2 增加數(shù)據(jù) 178
11.1.3 修改與刪除數(shù)據(jù) 179
11.1.4 查詢數(shù)據(jù) 179
11.1.5 查詢執(zhí)行計劃 180
11.1.6 監(jiān)控 181
11.2 Studio 3T 182
11.3 NoSQL Manager 183
11.4 項目實踐:使用Compass完成增刪改查綜合練習(xí) 185
本章小結(jié) 187
課后習(xí)題 187
項目實訓(xùn) 187
第12章 Python與MongoDB 189
12.1 連接MongoDB數(shù)據(jù)庫 189
12.2 增刪改查操作 190
12.2.1 增加數(shù)據(jù) 190
12.2.2 刪除數(shù)據(jù) 191
12.2.3 修改數(shù)據(jù) 191
12.2.4 查詢數(shù)據(jù) 192
12.2.5 其他常用函數(shù) 193
12.3 索引與聚合操作 195
12.3.1 創(chuàng)建索引 196
12.3.2 刪除索引 197
12.3.3 聚合操作 198
12.4 Python中使用GridFS 199
12.5 項目實踐:增刪改查綜合練習(xí) 199
本章小結(jié) 202
課后習(xí)題 202
項目實訓(xùn) 203
第13章 Django與MongoDB 204
13.1 認識Django 204
13.2 項目實踐:酒店員工信息管理模塊 206
13.2.1 功能模塊設(shè)置 206
13.2.2 數(shù)據(jù)庫結(jié)構(gòu) 207
13.2.3 數(shù)據(jù)庫創(chuàng)建 207
13.2.4 項目環(huán)境搭建 209
13.3 功能實現(xiàn) 211
13.3.1 配置相關(guān)文件 211
13.3.2 測試連接數(shù)據(jù)庫 212
13.3.3 驗證管理員登錄 213
13.3.4 員工信息錄入功能 214
13.3.5 員工信息修改、刪除功能 215
13.3.6 員工信息查詢功能 218
本章小結(jié) 219
課后習(xí)題 219
項目實訓(xùn) 219
第14章 綜合項目——數(shù)據(jù)分析 221
14.1 認識pyecharts 221
14.1.1 全局配置項 222
14.1.2 系列配置項 222
14.1.3 pyecharts的圖表類型與參數(shù) 223
14.1.4 創(chuàng)建圖表 223
14.2 項目實踐:電商數(shù)據(jù)分析 225
14.2.1 讀取數(shù)據(jù) 225
14.2.2 處理數(shù)據(jù) 226
14.2.3 數(shù)據(jù)分析 227
14.3 項目實踐:端午節(jié)粽子數(shù)據(jù)分析 232
14.3.1 讀取數(shù)據(jù) 232
14.3.2 處理數(shù)據(jù) 233
14.3.3 數(shù)據(jù)分析 234
本章小結(jié) 237
課后習(xí)題 238
項目實訓(xùn) 238