分佈式數據庫基礎與應用
閉應洲 許桂秋 劉軍
相關主題
商品描述
本書是一本介紹分佈式數據庫基礎內容與應用的大數據專業類圖書,力求培養讀者對分佈式數據庫的應用技能。 本書共11章,採用原理+代碼實例+綜合案例的編寫形式,清晰明瞭地介紹分佈式數據庫的原理、基礎應用、進階應用及主流工具的使用方法、應用場景,以理實結合為編寫要求,讓讀者能夠輕松學習和掌握分佈式數據庫的內容。
本書可以作為高等院校電腦、網絡技術等相關專業的教材,也可以作為數據庫相關工作的從業人員的參考用書,亦可作零基礎人員學習分佈式數據庫技術的入門圖書。
作者簡介
许桂秋,北京中科特瑞科技有限公司,主要研究方向为大数据、人工智能技术,已出版《大数据导论》《Python编程基础与应用》《NoSQL数据库原理与应用》《数据挖掘与机器学习》等图书。
目錄大綱
第 1章 數據庫概述 1
任務1.1 數據庫系統概述 1
1.1.1 數據庫系統的基本概念 1
1.1.2 關系數據庫 5
任務1.2 MySQL的安裝與使用 8
1.2.1 MySQL簡介 8
1.2.2 MySQL的安裝 8
1.2.3 MySQL數據庫的基本操作 11
1.2.4 MySQL數據表的基本操作 12
1.2.5 數據的基本操作 13
任務1.3 分佈式數據庫 15
1.3.1 CAP與BASE理論 15
1.3.2 分佈式數據庫概述 18
任務1.4 Python和Java連接數據庫 21
1.4.1 Python操作MySQL 22
1.4.2 Java操作MySQL 23
本章小結 24
第 2章 HBase安裝、數據模型與數據操作 26
任務2.1 HBase簡介 26
2.1.1 HBase概述 26
2.1.2 HBase的應用場景 31
任務2.2 HBase偽分佈式環境部署 31
2.2.1 Zookeeper簡介、安裝與測試 31
2.2.2 Hadoop簡介、安裝與測試 34
2.2.3 偽分佈式HBase安裝與配置文件的修改 34
2.2.4 啟動並測試HBase偽分佈式集群 35
任務2.3 HBase基本原理 36
2.3.1 HBase的基本概念 36
2.3.2 HBase的數據模型 37
任務2.4 HBase Shell基本操作 38
2.4.1 HBase命名空間及其基本操作 38
2.4.2 HBase數據表及其基本操作 40
2.4.3 HBase的CRUD操作 43
2.4.4 HBase過濾器 46
本章小結 49
第3章 MongoDB安裝、數據操作與安全操作 51
任務3.1 MongoDB概述 51
3.1.1 MongoDB簡介 51
3.1.2 MongoDB的類SQL數據庫特性 61
任務3.2 MongoDB的安裝 64
3.2.1 在Windows環境下安裝MongoDB 64
3.2.2 在Ubuntu環境下安裝MongoDB 68
3.2.3 MongoDB啟動測試 70
任務3.3 MongoDB的基本使用方法 72
3.3.1 數據庫與集合的基本操作 72
3.3.2 文檔的基本操作 75
任務3.4 MongoDB聚合操作 84
3.4.1 聚合管道操作 84
3.4.2 map-reduce操作 86
任務3.5 MongoDB索引操作 87
3.5.1 索引簡介 87
3.5.2 索引策略 92
任務3.6 MongoDB安全操作 94
3.6.1 安全檢測列表 94
3.6.2 啟用訪問控制 94
3.6.3 身份驗證 97
本章小結 99
第4章 Redis安裝、數據類型與數據操作 101
任務4.1 Redis概述 101
4.1.1 Redis簡介 101
4.1.2 Redis的應用場景 102
任務4.2 Redis的安裝 103
4.2.1 在Windows環境下安裝Redis 103
4.2.2 在CentOS環境下安裝Redis 105
4.2.3 在Ubuntu環境下安裝Redis 105
任務4.3 Redis的基本命令 108
4.3.1 Redis基本命令的相關操作 108
4.3.2 Redis關於鍵的操作 108
任務4.4 Redis支持的數據類型與基本操作 110
4.4.1 字符串基本操作 110
4.4.2 哈希基本操作 111
4.4.3 列表基本操作 116
4.4.4 集合基本操作 123
4.4.5 有序集合基本操作 130
本章小結 140
第5章 Neo4j安裝與Cypher操作 142
任務5.1 Neo4j簡介 142
5.1.1 Neo4j概述 142
5.1.2 Cypher簡介 146
任務5.2 安裝Neo4j 148
5.2.1 在Windows環境下安裝Neo4j 149
5.2.2 在Ubuntu環境下安裝Neo4j 151
5.2.3 Neo4j配置文件 153
任務5.3 Cypher入門 156
5.3.1 數據類型 156
5.3.2 命名規範 157
5.3.3 Cypher保留關鍵字 158
任務5.4 常見的Cypher操作 158
5.4.1 CREATE 159
5.4.2 MATCH 159
5.4.3 RETURN、LIMIT和SKIP 164
5.4.4 DELETE和REMOVE 166
5.4.5 WHERE 168
5.4.6 SET 172
5.4.7 ORDER BY 174
5.4.8 WITH 176
5.4.9 UNION 177
5.4.10 MERGE 179
5.4.11 UNWIND 179
5.4.12 LOAD CSV 181
本章小結 183
第6章 HBase編程操作、核心原理與集群管理 184
任務6.1 HBase的編程操作 184
6.1.1 HBase的表操作 184
6.1.2 HBase的CRUD操作 189
6.1.3 HBase過濾器 192
任務6.2 HBase核心原理 193
6.2.1 數據存儲 194
6.2.2 定位與讀取操作 198
6.2.3 WAL機制 198
任務6.3 HBase Region管理 199
6.3.1 HFile合並 200
6.3.2 Region的拆分與合並 200
6.3.3 Region的負載均衡 202
6.3.4 RowKey設計 203
任務6.4 HBase集群管理 204
6.4.1 運維管理 204
6.4.2 數據處理 205
6.4.3 故障處理 207
本章小結 208
第7章 MongoDB編程操作、生產環境部署與集群管理 209
任務7.1 MongoDB編程操作 209
7.1.1 Java操作MongoDB 209
7.1.2 Python操作MongoDB 212
任務7.2 MongoDB復制集部署 215
7.2.1 復制集架構 215
7.2.2 部署MongoDB復制集 217
任務7.3 MongoDB分片集部署 220
7.3.1 分片集架構 221
7.3.2 MongoDB分片集部署 223
任務7.4 MongoDB運維 227
7.4.1 數據備份 227
7.4.2 性能監控 231
本章小結 232
第8章 Redis編程操作與生產環境部署 234
任務8.1 編程操作Redis 234
8.1.1 下載Redis驅動 234
8.1.2 編程操作Redis 235
任務8.2 Redis主從模式 236
8.2.1 Redis主從復制的作用和架構 237
8.2.2 部署Redis主從模式 237
8.2.3 主從復制模式實踐 239
任務8.3 Redis哨兵模式 240
8.3.1 Redis哨兵模式的作用和架構 240
8.3.2 部署Redis哨兵模式 241
8.3.3 哨兵模式應用 243
任務8.4 配置Redis集群模式 244
8.4.1 Redis集群模式的作用和架構 244
8.4.2 部署Redis集群模式 245
8.4.3 Redis集群模式應用 248
本章小結 249
第9章 Neo4j編程操作、擴展與運維管理 250
任務9.1 Neo4j編程操作 250
9.1.1 Java操作Neo4j 250
9.1.2 Python操作Neo4j 254
任務9.2 APOC擴展與使用 256
9.2.1 APOC簡介與安裝 256
9.2.2 APOC的使用 258
任務9.3 ALOG擴展與使用 262
9.3.1 ALOG簡介與安裝 262
9.3.2 ALGO的應用 263
任務9.4 Neo4j運維 267
9.4.1 Neo4j備份與恢復 267
9.4.2 Neo4j性能與安全 268
本章小結 270
第 10章 其他NoSQL數據庫 272
任務10.1 Elasticsearch 272
10.1.1 Elasticsearch背景 272
10.1.2 Elasticsearch基礎 274
任務10.2 ClickHouse 276
10.2.1 ClickHouse簡介 276
10.2.2 ClickHouse基礎內容 277
任務10.3 時序數據庫 281
10.3.1 時序數據庫背景 281
10.3.2 核心特點 283
10.3.3 應用場景 283
任務10.4 向量數據庫 284
10.4.1 向量數據庫概述 284
10.4.2 向量數據庫的特點 285
10.4.3 向量數據庫的應用場景 285
本章小結 286
第 11章 綜合實驗 287
任務11.1 HBase數據庫與關系數據庫數據遷移 287
11.1.1 環境設置 287
11.1.2 MySQL數據庫的設計與數據導入 288
11.1.3 啟動HBase以及Thrift服務 292
11.1.4 將數據從MySQL導入HBase 293
任務11.2 MongoDB數據存儲與可視化分析 296
11.2.1 環境設置 296
11.2.2 獲取和存儲數據 297
11.2.3 分析數據並可視化 298
任務11.3 Redis整合Ngnix實現網頁緩存 301
11.3.1 環境設置 301
11.3.2 OpenResty環境搭建 301
11.3.3 在Nginx代理服務器中使用Redis緩存網頁數據 303
任務11.4 Neo4j社交網絡查詢 311
11.4.1 環境設置 311
11.4.2 數據準備與導入 311
11.4.3 查詢語句 314
本章小結 318