NoSQL數(shù)據(jù)庫(kù)應(yīng)用與實(shí)踐
定 價(jià):56 元
- 作者:張倩
- 出版時(shí)間:2025/5/1
- ISBN:9787121501395
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.132.3
- 頁(yè)碼:248
- 紙張:
- 版次:01
- 開本:16開
NoSQL數(shù)據(jù)庫(kù)以其獨(dú)特的數(shù)據(jù)模型和擴(kuò)展方式,為大數(shù)據(jù)和人工智能等領(lǐng)域提供了強(qiáng)有力的支持。本書基于Windows 10及以上操作系統(tǒng)編寫,介紹NoSQL數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)及其在開發(fā)中的應(yīng)用。全書共14章,第1章介紹NoSQL數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí);第2章介紹鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)Redis;第3章介紹列式存儲(chǔ)數(shù)據(jù)庫(kù)HBase;第4章介紹圖形存儲(chǔ)數(shù)據(jù)庫(kù)Neo4j;第5章介紹文檔存儲(chǔ)數(shù)據(jù)庫(kù)MongoDB;第6章介紹MongoDB文檔的增刪改查;第7章~第10章分別介紹MongoDB數(shù)據(jù)庫(kù)中索引、排序與分頁(yè)、權(quán)限機(jī)制、MapReduce與GridFS的相關(guān)知識(shí);第11章介紹MongoDB的客戶端軟件;第12章介紹Python與MongoDB的相關(guān)知識(shí);第13章介紹Django與MongoDB的相關(guān)知識(shí);第14章通過綜合案例介紹MongoDB在數(shù)據(jù)分析中的使用。
張倩,濟(jì)南職業(yè)學(xué)院計(jì)算機(jī)分院人工智能教研室副主任,主要從事機(jī)器學(xué)習(xí)、深度神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)技術(shù)等課程的授課工作。曾獲山東省教學(xué)能力比賽二等獎(jiǎng),主編、副主編《網(wǎng)絡(luò)管理標(biāo)準(zhǔn)教程》《Python Web項(xiàng)目開發(fā)教程(Django版)》《PHP程序設(shè)計(jì)案例教程》等教材,承擔(dān)多項(xiàng)課題研究工作。
第1章 認(rèn)識(shí)NoSQL數(shù)據(jù)庫(kù) 1
1.1 人工智能時(shí)代下的數(shù)據(jù) 1
1.2 NoSQL數(shù)據(jù)庫(kù) 2
1.2.1 NoSQL數(shù)據(jù)庫(kù)概述 2
1.2.2 NoSQL數(shù)據(jù)庫(kù)的起源 2
1.3 關(guān)系數(shù)據(jù)庫(kù)與非關(guān)系數(shù)據(jù)庫(kù) 2
1.3.1 關(guān)系數(shù)據(jù)庫(kù) 2
1.3.2 非關(guān)系數(shù)據(jù)庫(kù) 3
1.3.3 關(guān)系數(shù)據(jù)庫(kù)與非關(guān)系數(shù)據(jù)庫(kù)的比較 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ù)庫(kù)的分類 6
1.5.1 鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù) 6
1.5.2 列式存儲(chǔ)數(shù)據(jù)庫(kù) 7
1.5.3 圖形存儲(chǔ)數(shù)據(jù)庫(kù) 7
1.5.4 文檔存儲(chǔ)數(shù)據(jù)庫(kù) 8
1.5.5 不同NoSQL數(shù)據(jù)庫(kù)之間的對(duì)比 8
1.6 項(xiàng)目實(shí)踐:探索NoSQL數(shù)據(jù)庫(kù) 9
本章小結(jié) 10
課后習(xí)題 10
項(xiàng)目實(shí)訓(xùn) 10
第2章 鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)Redis 11
2.1 認(rèn)識(shí)Redis 11
2.1.1 Redis概述 11
2.1.2 Redis的特點(diǎn)和用途 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客戶端實(shí)例 15
2.3 數(shù)據(jù)操作 15
2.3.1 鍵值對(duì)操作 15
2.3.2 哈希表操作 17
2.3.3 列表操作 19
2.3.4 集合操作 20
2.3.5 有序集合操作 21
2.3.6 發(fā)布與訂閱操作 22
2.4 高級(jí)功能 23
2.4.1 事務(wù)操作 23
2.4.2 過期時(shí)間和持久化 24
2.4.3 分布式鎖 24
2.5 項(xiàng)目實(shí)踐:通過Python操作Redis實(shí)現(xiàn)分布式鎖 25
本章小結(jié) 26
課后習(xí)題 26
項(xiàng)目實(shí)訓(xùn) 27
第3章 列式存儲(chǔ)數(shù)據(jù)庫(kù)HBase 28
3.1 認(rèn)識(shí)HBase 28
3.1.1 HBase概述 28
3.1.2 HBase的應(yīng)用場(chǎng)景 29
3.2 HBase的數(shù)據(jù)模型 30
3.2.1 HBase的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu) 30
3.2.2 HBase的數(shù)據(jù)存儲(chǔ)概念 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 啟動(dòng)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 項(xiàng)目實(shí)踐:設(shè)計(jì)水費(fèi)繳費(fèi)明細(xì)表 47
本章小結(jié) 49
課后習(xí)題 50
項(xiàng)目實(shí)訓(xùn) 50
第4章 圖形存儲(chǔ)數(shù)據(jù)庫(kù)Neo4j 51
4.1 認(rèn)識(shí)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é)點(diǎn) 61
4.3.6 刪除屬性 62
4.4 Python操作Neo4j 62
4.4.1 環(huán)境準(zhǔn)備 62
4.4.2 連接Neo4j數(shù)據(jù)庫(kù) 63
4.4.3 節(jié)點(diǎn)操作 63
4.5 項(xiàng)目實(shí)踐:使用Python創(chuàng)建課程知識(shí)圖 66
本章小結(jié) 67
課后習(xí)題 67
項(xiàng)目實(shí)訓(xùn) 67
第5章 文檔存儲(chǔ)數(shù)據(jù)庫(kù)MongoDB 69
5.1 MongoDB概述 69
5.2 MongoDB的應(yīng)用 70
5.2.1 應(yīng)用場(chǎng)景和特點(diǎn) 70
5.2.2 什么時(shí)候選擇MongoDB 71
5.3 MongoDB的數(shù)據(jù)庫(kù)組織結(jié)構(gòu) 71
5.3.1 MongoDB的三個(gè)概念 72
5.3.2 MongoDB的組織結(jié)構(gòu) 72
5.3.3 MongoDB的數(shù)據(jù)類型 72
5.4 在Windows系統(tǒng)下安裝和啟動(dòng) 73
5.4.1 環(huán)境準(zhǔn)備 73
5.4.2 安裝軟件 74
5.5 在Linux系統(tǒng)下安裝和啟動(dòng) 76
5.5.1 創(chuàng)建列表文件 76
5.5.2 更新安裝包列表 76
5.5.3 安裝MongoDB 77
5.5.4 啟動(dòng)MongoDB 77
5.6 MongoDB的基本命令 78
5.6.1 查看數(shù)據(jù)庫(kù) 78
5.6.2 使用數(shù)據(jù)庫(kù) 78
5.6.3 刪除數(shù)據(jù)庫(kù) 79
5.6.4 集合 80
5.6.5 集合的相關(guān)操作 81
本章小結(jié) 82
課后習(xí)題 82
項(xiàng)目實(shí)訓(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ù)運(yùn)算符 89
6.3.3 查詢中的邏輯運(yùn)算符 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 時(shí)間類型 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 項(xiàng)目實(shí)踐:增刪改查綜合練習(xí) 115
本章小結(jié) 117
課后習(xí)題 117
項(xiàng)目實(shí)訓(xùn) 117
第7章 索引 119
7.1 數(shù)據(jù)庫(kù)中的索引 119
7.2 索引的優(yōu)缺點(diǎn) 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 項(xiàng)目實(shí)踐:使用bookshop數(shù)據(jù)練習(xí)索引操作 125
本章小結(jié) 132
課后習(xí)題 132
項(xiàng)目實(shí)訓(xùn) 132
第8章 排序與分頁(yè) 134
8.1 排序 134
8.1.1 sort()函數(shù) 134
8.1.2 復(fù)合排序 135
8.2 分頁(yè) 136
8.2.1 limit()函數(shù)與skip()函數(shù) 136
8.2.2 分頁(yè)實(shí)踐 138
8.3 聚合查詢 139
8.3.1 常用管道 139
8.3.2 常用表達(dá)式 139
8.3.3 聚合管道的使用 139
8.4 項(xiàng)目實(shí)踐:使用聚合操作處理數(shù)據(jù) 140
8.4.1 $match過濾數(shù)據(jù) 141
8.4.2 $project字段投影 141
8.4.3 $count計(jì)數(shù) 143
8.4.4 $limit與$skip 143
8.4.5 $sort聚合排序 146
8.4.6 $group分組查詢 147
本章小結(jié) 149
課后習(xí)題 150
項(xiàng)目實(shí)訓(xùn) 150
第9章 權(quán)限機(jī)制 151
9.1 權(quán)限分配 151
9.2 安裝驗(yàn)證服務(wù) 152
9.3 用戶登錄驗(yàn)證 154
9.4 備份還原 160
9.4.1 下載備份還原工具 160
9.4.2 備份數(shù)據(jù)mongodump 161
9.4.3 還原數(shù)據(jù)mongorestore 161
9.5 項(xiàng)目實(shí)踐:備份還原數(shù)據(jù)庫(kù) 162
本章小結(jié) 164
課后習(xí)題 164
項(xiàng)目實(shí)訓(xùn) 165
第10章 MapReduce與GridFS 166
10.1 認(rèn)識(shí)MapReduce 166
10.1.1 MapReduce概述 166
10.1.2 MapReduce的格式定義 167
10.2 文件存儲(chǔ) 170
10.2.1 存儲(chǔ)方式 170
10.2.2 GridFS 170
10.3 項(xiàng)目實(shí)踐:上傳與下載PDF文件 173
本章小結(jié) 174
課后習(xí)題 174
項(xiàng)目實(shí)訓(xùn) 175
第11章 客戶端軟件 176
11.1 MongoDB Compass 176
11.1.1 創(chuàng)建數(shù)據(jù)庫(kù) 177
11.1.2 增加數(shù)據(jù) 178
11.1.3 修改與刪除數(shù)據(jù) 179
11.1.4 查詢數(shù)據(jù) 179
11.1.5 查詢執(zhí)行計(jì)劃 180
11.1.6 監(jiān)控 181
11.2 Studio 3T 182
11.3 NoSQL Manager 183
11.4 項(xiàng)目實(shí)踐:使用Compass完成增刪改查綜合練習(xí) 185
本章小結(jié) 187
課后習(xí)題 187
項(xiàng)目實(shí)訓(xùn) 187
第12章 Python與MongoDB 189
12.1 連接MongoDB數(shù)據(jù)庫(kù) 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 項(xiàng)目實(shí)踐:增刪改查綜合練習(xí) 199
本章小結(jié) 202
課后習(xí)題 202
項(xiàng)目實(shí)訓(xùn) 203
第13章 Django與MongoDB 204
13.1 認(rèn)識(shí)Django 204
13.2 項(xiàng)目實(shí)踐:酒店員工信息管理模塊 206
13.2.1 功能模塊設(shè)置 206
13.2.2 數(shù)據(jù)庫(kù)結(jié)構(gòu) 207
13.2.3 數(shù)據(jù)庫(kù)創(chuàng)建 207
13.2.4 項(xiàng)目環(huán)境搭建 209
13.3 功能實(shí)現(xiàn) 211
13.3.1 配置相關(guān)文件 211
13.3.2 測(cè)試連接數(shù)據(jù)庫(kù) 212
13.3.3 驗(yàn)證管理員登錄 213
13.3.4 員工信息錄入功能 214
13.3.5 員工信息修改、刪除功能 215
13.3.6 員工信息查詢功能 218
本章小結(jié) 219
課后習(xí)題 219
項(xiàng)目實(shí)訓(xùn) 219
第14章 綜合項(xiàng)目——數(shù)據(jù)分析 221
14.1 認(rèn)識(shí)pyecharts 221
14.1.1 全局配置項(xiàng) 222
14.1.2 系列配置項(xiàng) 222
14.1.3 pyecharts的圖表類型與參數(shù) 223
14.1.4 創(chuàng)建圖表 223
14.2 項(xiàng)目實(shí)踐:電商數(shù)據(jù)分析 225
14.2.1 讀取數(shù)據(jù) 225
14.2.2 處理數(shù)據(jù) 226
14.2.3 數(shù)據(jù)分析 227
14.3 項(xiàng)目實(shí)踐:端午節(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
項(xiàng)目實(shí)訓(xùn) 238