目錄
第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 處理