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