NoSQL數據庫從入門到實戰(微課視頻版)(簡體書)
商品資訊
系列名:大數據與人工智能技術叢書
ISBN13:9787302609490
出版社:清華大學出版社(大陸)
作者:呂雲翔; 郭婉茹; 余志浩; 賀祺; 郭宇光
出版日:2022/07/01
裝訂/頁數:平裝/214頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
名人/編輯推薦
本書特色
(1)以案例為導向,對基礎理論知識點在實際中的應用進行詳細講解。
(2)實戰案例豐富,涵蓋4個完整項目案例。
(3)代碼詳盡,避免對 API 的形式展示,規避重復代碼。
(4)理論闡述全面系統
(5)語言簡明易懂,由淺入深帶。
(6)各個數據庫相對獨立,數學原理相對容易理解。
序
隨著近年來數據科學的發展,人們記錄信息的方式和量級不斷地發生改變,數據的應用場景產生了重大變革,傳統關係數據庫的缺陷逐漸暴露。通過打破關係數據庫的模式,構建出的NoSQL數據庫結構簡單,且具有分布式、易擴展的特點。這種高效便捷的新型數據庫逐漸在互聯網、電信、金融等行業得到廣泛的應用,和關係數據庫形成了一種技術上的互補關係。
本書主要內容
本書將NoSQL數據庫基礎理論和實際案例相結合,適合初學者學習。讀者可以在短時間內學習本書中介紹的所有數據庫類型。
作為一本關於數據庫的書籍,本書共有13章。其中,前9章為理論知識的介紹,第10~13章為4個實際項目案例。
第1章主要闡述數據庫系統的基礎知識,首先介紹了關係數據庫的發展歷史和主要功能,通過關係數據庫的優缺點引出NoSQL數據庫的發展及其特色;接著介紹了四種常見的NoSQL數據庫分類;後對NewSQL進行了簡單介紹。
第2章針對NoSQL數據庫的基本原理進行了詳細介紹。主要介紹了其分布式數據管理特色的實現方式和分布式系統的原理和特性。
第3章主要介紹文檔數據庫和MongoDB的相關內容。本章首先闡述了文檔存儲的相關概念;之後講解了MongoDB的安裝配置;後講解了MongoDB中的基礎操作和通過Java和Python語言訪問MongoDB數據庫的操作。
第4章通過對MongoDB分片和副本集概念的闡述進一步介紹了MongoDB數據庫存儲文件的方式。首先詳細介紹了副本集概念及其安裝配置方式,之後著重闡述了副本集運行的機制。後半部分講解了分片概念和分片集群的部署方式。
第5章介紹了MongoDB GridFS的相關內容。首先對GridFS基礎概念進行了概述,之後描述了其存儲結構,後分別描述了使用Shell、Java和Python操作MongoDB GridFS的基本方法。
第6章主要介紹列族數據庫與HBase的相關知識。首先介紹了HBase的發展歷史和其與其他數據庫的對比,之後簡單闡述了HBase的組件、功能和數據模型,後詳細介紹了HBase的基本操作和通過Java訪問HBase的操作。
第7章是HBase數據庫的進階介紹,通過講解其中的水平分區原理、Region管理和HBase集群的基礎知識,進一步介紹了HBase在面對大量數據時的高可用性。
第8章主要介紹鍵值數據庫與Redis。首先介紹了Redis數據庫的特性、數據結構和應用場景,同時描述了其安裝與配置的方式,後講解了使用Java操作Redis數據庫的方式。
第9章主要介紹圖數據庫與Neo4j。首先介紹了圖論和圖數據庫的理論知識,之後講解了Neo4j數據庫的應用場景、安裝配置、數據模型等,後講解了Cypher語言的使用。
第10~13章分別介紹了使用MongoDB數據庫、HBase數據庫、Redis數據庫和Neo4j數據庫的四個案例。
本書特色
(1) 以案例為導向,對基礎理論知識點在實際中的應用進行詳細講解。
(2) 實戰案例豐富,涵蓋4個完整項目案例。
(3) 代碼詳盡,避免對API的形式展示,規避重復代碼。
(4) 理論闡述系統全面。
(5) 語言簡明易懂,由淺入深。
(6) 各個數據庫相對獨立,數學原理相對容易理解。
資源下載提示
課件等資源: 掃描封底的“課件下載”二維碼,在公眾號“書圈”下載。
素材(源代碼)等資源: 掃描目錄頁的二維碼下載。
視頻資源: 掃描封底刮刮卡中的二維碼,再掃描書中相應章節中的二維碼可以在線學習。
讀者物件
本書主要面向廣大從事軟件工程或數據處理的專業人員,從事高等教育的專任教師,高等院校的在讀學生及相關領域的廣大科研人員。
本書的編者為呂云翔、郭婉茹、余志浩、賀祺、郭宇光,曾洪立進行了部分內容的編寫和素材整理及配套資源製作等。
本書的編寫參考了諸多相關資料,在此向資料的作者表示衷心的感謝。
限於個人水平和時間倉促,書中難免存在疏漏之處,歡迎讀者批評指正。
作者2021年4月隨書資源
目次
第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使用rediscli連接到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
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。







