NoSQL數據庫從入門到實戰(微課視頻版)

NoSQL數據庫從入門到實戰(微課視頻版)

作者: 呂雲翔 郭婉茹 餘志浩 賀祺 郭宇光
出版社: 清華大學
出版在: 2022-07-01
ISBN-13: 9787302609490
ISBN-10: 7302609497





內容描述


本書基礎理論和實際案例相結合,循序漸進地介紹了多種NoSQL數據庫,全面系統地說明瞭多種NoSQL數據庫的使用方法和適用範疇,並通過四個具體案例闡述了NoSQL數據庫在實際生活中的應用。全書共13章,分別介紹NoSQL數據庫基本原理、文檔數據庫與MongoDB、列族數據庫與HBase、鍵值數據庫與Redis和圖數據庫與Neo4j等知識,書中的每種數據庫都有相應的實現代碼和實例。
本書主要面向廣大從事數據分析或軟件工程的專業人員,從事高等教育的專任教師,高等院校的在讀學生及相關領域的廣大科研人員。


目錄大綱


目錄

第1章數據庫系統基礎1
1.1關系數據庫1
1.1.1關系數據發展1
1.1.2關系數據庫的功能3
1.1.3關系數據庫的優缺點4
1.2NoSQL數據庫5
1.2.1NoSQL數據庫發展5
1.2.2NoSQL與大數據7
1.2.3NoSQL的特點9
1.3NoSQL數據庫分類及應用場景10
1.3.1文檔數據庫10
1.3.2列族數據庫11
1.3.3鍵值對數據庫12
1.3.4圖數據庫13
1.4NewSQL數據庫13
1.4.1NewSQL數據庫簡介13
1.4.2NewSQL數據庫特點13
第2章NoSQL數據庫基本原理15
2.1分佈式數據管理特點15
2.1.1數據分片15
2.1.2數據多副本存儲17
2.1.3讀寫分離17
2.1.4分佈式系統的可伸縮性19
2.2分佈式系統的一致性問題19
2.2.1CAP原理19
2.2.2BASE與最終一致性21
2.2.3Paxos22
第3章文檔數據庫與MongoDB26
3.1MongoDB簡介26
3.2基本概念27
3.2.1文檔數據模型27
3.2.2文檔存儲結構27
3.2.3數據類型29
3.3MongoDB的安裝與配置30
3.3.1單機環境部署30
3.3.2MongoDB的配置文件33
3.4MongoDB的基本操作34
3.4.1Mongo Shell的使用34
3.4.2數據庫和集合操作36
3.4.3基本增刪改查操作36
3.4.4聚合和管道39
3.4.5索引操作42
3.5通過Java訪問MongoDB44
3.5.1數據庫和集合操作44
3.5.2基本增刪改查操作45
3.5.3聚合和管道50
3.5.4索引操作51
3.6通過Python訪問MongoDB52
3.6.1數據庫和集合操作52
3.6.2基本增刪改查操作53
3.6.3聚合和管道59
3.6.4索引操作59
第4章MongoDB分片與副本集60
4.1副本集概述60
4.1.1副本集概念60
4.1.2副本集成員61
4.2部署副本集61
4.2.1環境準備61
4.2.2副本集的安裝與啟動62
4.2.3副本集的初始化63
4.3副本集基本操作64
4.3.1查看成員狀態64
4.3.2同步副本文檔64
4.3.3故障轉移65
4.3.4配置副本集成員66
4.4副本集機制68
4.4.1同步機制68
4.4.2心跳檢測機制68
4.4.3選舉機制69
4.5分片概述69
4.5.1分片概念69
4.5.2分片策略69
4.5.3分片架構70
4.6部署分片集群71
4.6.1環境準備71
4.6.2部署MongoDB72
4.6.3部署Config Server72
4.6.4部署Shard74
4.6.5部署Mongos75
4.6.6啟用分片75
4.7分片的基本操作77
第5章MongoDB GridFS79
5.1GridFS概述79
5.1.1GridFS概念79
5.1.2GridFS應用場景80
5.2GridFS存儲原理80
5.2.1GridFS存儲結構80
5.2.2GridFS存儲過程81
5.3GridFS基本操作82
5.3.1使用Shell操作MongoDB GridFS82
5.3.2使用Java操作MongoDB GridFS83
5.3.3使用Python操作MongoDB GridFS87
第6章列族數據庫與HBase90
6.1HBase簡介91
6.1.1HBase的發展91
6.1.2與關系數據庫的比較91
6.2HBase的組件和功能92
6.2.1Client92
6.2.2Zookeeper92
6.2.3Master92
6.2.4Region Server92
6.2.5HBase的安裝與配置93
6.3HBase的數據模型99
6.3.1表與行鍵102
6.3.2列標識與列族102
6.3.3單元格102
6.4HBase的基本操作103
6.4.1HBase Shell103
6.4.2表和列族操作104
6.4.3數據更新104
6.4.4數據查詢105
6.4.5HBase Table設計原則105
6.5通過Java訪問HBase105
6.5.1基本環境配置105
6.5.2表的連接和操作105
6.5.3表操作與數據更新107
6.5.4數據查詢109
第7章HBase進階112
7.1水平分區原理112
7.1.1meta表112
7.1.2數據寫入和讀取機制113
7.1.3預寫日誌114
7.1.4分區拆分115
7.2HBase Region管理115
7.2.1HFile合並115
7.2.2Region拆分116
7.2.3Region合並117
7.2.4Region負載均衡117
7.3HBase集群的高可用性與伸縮性118
7.3.1Zookeeper的基本原理118
7.3.2基於Zookeeper的高可用性121
7.3.3集群數據遷移過程122
第8章鍵值數據庫與Redis127
8.1Redis簡介127
8.1.1Redis特性127
8.1.2Redis使用場景128
8.2Redis的安裝與配置129
8.2.1下載和安裝Redis129
8.2.2啟動和停止Redis130
8.2.3使用rediscli連接到Redis133
8.2.4獲取服務器信息134
8.3Redis數據結構與應用場景137
8.3.1字符串操作138
8.3.2散列操作142
8.3.3列表操作145
8.3.4集合操作147
8.3.5Bitmap操作149
8.4使用Java操作Redis152
8.4.1環境搭建152
8.4.2字符串操作153
8.4.3散列操作155
8.4.4列表操作157
8.4.5集合操作159
第9章圖數據庫與Neo4j161
9.1圖論與圖數據庫161
9.1.1圖的基本概念161
9.1.2圖解決的問題162
9.1.3圖數據庫162
9.1.4屬性圖模型163
9.2Neo4j基礎入門163
9.2.1Neo4j的關鍵概念和特點163
9.2.2Neo4j典型應用場景164
9.2.3Neo4j的安裝與配置164
9.3Neo4j數據模型167
9.3.1四種基礎數據結構167
9.3.2圖數據庫建模基礎168
9.3.3圖模型168
9.3.4圖建模168
9.4Cypher入門169
9.4.1Cypher的關鍵特性169
9.4.2Cypher的語法169
9.4.3Cypher的增刪改查操作171
9.4.4Cypher的常用函數172
第10章案例實戰——使用MongoDB實現海量數據標註174
10.1數據庫設計174
10.1.1部分數據庫設計174
10.1.2其他數據單設計175
10.2配置MongoDB176
10.2.1創建數據庫176
10.2.2數據庫連接配置177
10.3增刪改查操作177
10.3.1處理用戶數據單177
10.3.2存儲和處理文檔內容179
10.3.3存儲實體屬性列表181
第11章案例實戰——使用HBase實現商品批量存儲183
11.1數據庫設計183
11.2復雜數據處理184
11.2.1數據讀取184
11.2.2壓縮信息184
11.2.3解壓信息185
11.3數據讀寫186
11.3.1從Hive獲取數據表186
11.3.2將數據復制到HBase集群188
11.3.3讀取數據191
第12章案例實戰——使用Redis實現高並發秒殺系統192
12.1創建SpringBoot項目與配置192
12.1.1創建SpringBoot項目192
12.1.2編輯pom.xml192
12.1.3創建SpringBoot入口193
12.2數據庫操作195
12.2.1建庫與插入數據195
12.2.2創建實體類196
12.2.3編寫mapper文件197
12.3業務邏輯198
12.3.1Redis配置198
12.3.2編寫控制層199
12.3.3編寫服務層200
12.4測試206
12.4.1使用JMeter壓力測試工具206
12.4.2測試/list接口207
12.4.3測試/findById接口207
12.4.4測試/buy接口208
第13章實戰案例——使用Neo4j實現電影關系圖構建210
13.1數據庫設計210
13.2在Neo4j瀏覽器中創建結點和關系211
13.2.1創建結點211
13.2.2創建關系211
13.3使用Python語言操作Neo4j數據庫212
13.3.1連接數據庫212
13.3.2建立和更新結點和關系212
13.3.3查找結點或關系213
參考文獻215




相關書籍

雲數據庫應用(MySQL)

作者 危光輝

2022-07-01

Oracle Database 12cR2 In-Memory性能優化實戰

作者 [美] 喬吉特·班納吉(Joyjeet Banerjee) 張駿溫 許向東 王健 譯

2022-07-01

大數據高並發 Redis 一本通

作者 張文亮

2022-07-01