NoSQL 數據庫實戰派:Redis + MongoDB + HBase

趙渝強

  • 出版商: 電子工業
  • 出版日期: 2022-10-01
  • 售價: $708
  • 貴賓價: 9.5$673
  • 語言: 簡體中文
  • 頁數: 416
  • 裝訂: 平裝
  • ISBN: 7121443406
  • ISBN-13: 9787121443404
  • 相關分類: NoSQLMongoDBKey-Value StoreSQL
  • 立即出貨

買這商品的人也買了...

商品描述

本書介紹了NoSQL數據庫生態圈體系,包括Redis、MongoDB和HBase,內容涉及開發、運維、管理與架構。
“第1篇基於內存的NoSQL數據庫”(第1~5章)包括:
內存對象緩存技術Memcached、Redis基礎、Redis高級特性及原理、Redis集群與高可用和Redis故障診斷與優化。
“第2篇基於文檔的NoSQL數據庫”(第6~10章)包括:
MongoDB基礎、操作MongoDB的數據、MongoDB的數據建模、MongoDB的管理和MongoDB的集群。
“第3篇列式存儲NoSQL數據庫”(第11~15章)包括:
HBase基礎、部署與操作HBase、HBase原理剖析、HBase的高級特性和監控與優化HBase集群。
 

作者簡介

趙渝強
曾任京東大學大數據學院院長、Oracle(中國)高級技術顧問,現專職從事培訓工作。
出版了《大數據原理與實戰》《Kafka進階》等書。

目錄大綱

==第1篇基於內存的NoSQL數據庫
第1章內存對象緩存技術Memcached /2
★1.1 Memcached基礎/2
1.1.1 Memcached的體系架構/2
1.1.2 Memcached的數據存儲方式/3
★1.2 使用Memcached在內存中緩存數據/3
1.2.1 【實戰】在CentOS上部署Memcached /4
1.2.2 【實戰】使用Telnet操作Memcached /6
1.2.3 【實戰】使用Java操作Memcached /10
1.2.4 【實戰】實現Memcached的客戶端路由/12
★1.3 Memcached集群/16
1.3.1 【實戰】部署Memcached的“主主複製”集群/16
1.3.2 【實戰】使用KeepAlived實現Memcached的高可用/19

第2章Redis基礎/25
★2.1 Redis入門/25
2.1.1 緩存的架構/26
2.1.2 Redis的優勢/27
2.1.3 Redis與其他Key-Value數據庫有何不同/27
2.1.4 一個典型的Redis應用案例——記錄用戶的登錄次數,查詢活躍用戶/27
★2.2 Redis的安裝和訪問/29
★2.3 Redis的數據結構/32
2.3.1 簡單動態字符串/32
2.3.2 跳躍表/33
2.3.3 壓縮列表/35
2.3.4 整數集合/36
2.3.5 字典/37
2.3.6 快表/38
2.3.7 Stream /40
2.3.8 HyperLogLog /42
2.3.9 RedisObject /43
★2.4 Redis的存儲結構/43
★2.5 鍵管理/45
2.5.1 鍵管理的基本操作/45
2.5.2 【實戰】遍歷鍵/49
2.5.3 【實戰】遷移鍵/53

第3章Redis高級特性及原理/56
★3.1 消息的發布與訂閱/56
3.1.1 “發布者-訂閱者”模式/56
3.1.2 “生產者-消費者”模式/59
★3.2 Redis的事務/60
3.2.1 【實戰】使用命令操作Redis的事務/61
3.2.2 【實戰】在事務操作中使用watch功能/61
3.2.3 【實戰】使用Java API操作Redis的事務/62
★3.3 數據持久化/63
3.3.1 RDB持久化/63
3.3.2 AOF持久化/66
★3.4 使用PipeLine優化請求的傳遞/69
★3.5 慢查詢日誌/71
3.5.1 慢查詢的配置參數/72
3.5.2 【實戰】管理和使用慢查詢日誌/73
3.5.3 慢查詢日誌最佳實踐/74
★3.6 Lua腳本編程語言/75
3.6.1 Lua基礎/75
3.6.2 【實戰】使用Lua腳本實現限流/76

第4章Redis集群與高可用/79
★4.1 Redis主從復制/79
4.1.1 部署Redis主從復制/80
4.1.2 Redis主從復制的源碼剖析/82
★4.2 基於哨兵的高可用架構/84
4.2.1 部署Redis哨兵/84
4.2.2 哨兵的主要配置參數/86
4.2.3 哨兵的工作原理/87
★4.3 Redis Cluster集群/90
4.3.1 什麼是Redis Cluster集群/90
4.3.2 Redis Cluster集群的體系架構/90
4.3.3 部署Redis Cluster集群/92
4.3.4 【實戰】操作與管理Redis Cluster集群/96
4.3.5 【實戰】實現Redis Cluster集群的代理分片/101
★4.4 Codis集群/103
4.4.1 Codis集群的體系架構/104
4.4.2 部署Codis集群/105
4.4.3 【實戰】基於Codis集群的主從復制/109
4.4.4 【實戰】基於Codis集群的數據分佈式存儲/112

第5章Redis故障診斷與優化/115
★5.1 監控Redis /115
5.1.1 監控Redis的內存/115
5.1.2 監控Redis的吞吐量/116
5.1.3 監控Redis的運行時信息/116
5.1.4 監控Redis的延時/117
★5.2 刪除策略和淘汰策略/120
5.2.1 內存的刪除策略/120
5.2.2 內存的淘汰策略/122
★5.3 Hot Key /124
5.3.1 監控Hot Key /124
5.3.2 Hot Key的常見處理辦法/125
★5.4 Big Key /125
★5.5 緩存的更新策略/126
5.5.1 “maxmemory-policy更新”策略/126
5.5.2 “超時更新”策略/126
5.5.3 “主動更新”策略/126
★5.6 緩存與數據庫的數據一致性/127
5.6.1 數據一致性案例分析/127
5.6.2 延時雙刪策略/128
5.6.3 異步更新緩存/129
★5.7 分佈式鎖/129
★5.8 Redis緩存的常見問題/131
5.8.1 提高緩存命中率/131
5.8.2 緩存預熱/131
5.8.3 緩存穿透/132
5.8.4 緩存雪崩/132
5.8.5 緩存擊穿/133

==第2篇基於文檔的NoSQL數據庫
第6章MongoDB基礎/136
★6.1 MongoDB簡介/136
★6.2 部署和使用MongoDB /137
6.2.1 【實戰】在CentOS上安裝MongoDB 5.0 /137
6.2.2 【實戰】使用配置文件啟動MongoDB服務器/139
6.2.3 【實戰】使用JavaScript命令行工具mongoshell /141
6.2.4 【實戰】使用MongoDB圖形化工具MongoDB Compass /145
★6.3 MongoDB中的數據類型/148
6.3.1 ObjectId類型/148
6.3.2 日期類型/149
6.3.3 數值類型/149
6.3.4 其他數據類型/151
★6.4 MongoDB的體系結構/152
6.4.1 邏輯存儲結構/152
6.4.2 物理存儲結構/153
★6.5 MongoDB的存儲引擎/154
6.5.1 WiredTiger存儲引擎/154
6.5.2 MMAP v1存儲引擎/159
6.5.3 In-Memory存儲引擎/161
★6.6 MongoDB的日誌——Journal日誌/163

第7章操作MongoDB中的數據/164
★7.1 使用DML語句操作數據/164
7.1.1 使用insert語句插入文檔/164
7.1.2 使用update語句更新文檔/166
7.1.3 使用delete語句刪除文檔/167
7.1.4 批處理操作/168
★7.2 使用DQL語句查詢數據/169
7.2.1 【實戰】基本查詢/169
7.2.2 【實戰】查詢嵌套的文檔/171
7.2.3 【實戰】查詢數組中的文檔/173
7.2.4 【實戰】查詢數組中嵌套的文檔/174
7.2.5 【實戰】查詢空值和缺失的列/175
7.2.6 【實戰】使用光標查詢文檔/176
★7.3 全文檢索/177
7.3.1 【實戰】執行全文索引/178
7.3.2 【實戰】在全文檢索中聚合數據/179
★7.4 地理空間查詢/181
★7.5 聚合操作/182
7.5.1 【實戰】使用Pipeline方式聚合數據/182
7.5.2 【實戰】使用MapReduce方式聚合數據/184
7.6 MongoDB中的事務/189

第8章MongoDB的數據建模/190
★8.1 數據庫建模基礎/190
8.1.1 MongoDB的數據建模方式/190
8.1.2 驗證MongoDB的數據文檔/191
★8.2 MongoDB數據模型設計/195
8.2.1 文檔的“一對一”關係模型/195
8.2.2 文檔的“一對多”關係模型/196
8.2.3 文檔的樹型模型/196
★8.3 使用MongoDB的索引/201
8.3.1 瞭解索引/201
8.3.2 瞭解MongoDB中的索引/202
8.3.3 【實戰】在查詢中使用單鍵索引/205
8.3.4 【實戰】在查詢中使用多鍵索引/206
8.3.5 【實戰】在查詢中使用複合索引/207
8.3.6 【實戰】在查詢中使用過期索引/210
8.3.7 【實戰】在查詢中使用全文索引/212
8.3.8 【實戰】在查詢中使用地理空間索引/213

第9章MongoDB的管理/216
★9.1 管理MongoDB的運行/216
9.1.1 【實戰】啟動MongoDB服務器/216
9.1.2 【實戰】停止MongoDB服務器/218
★9.2 MongoDB的安全機制/219
9.2.1 瞭解MongoDB的用戶認證機制/219
9.2.2 【實戰】啟用MongoDB的用戶認證機制/219
9.2.3 【實戰】在MongoDB中進行用戶管理/221
★9.3 基於角色的訪問控制/223
9.3.1 瞭解MongoDB中的角色/223
9.3.2 【實戰】基於角色控制用戶的訪問/224
★9.4 MongoDB的審計功能/227
9.4.1 與審計相關的參數/227
9.4.2 【實戰】審計功能舉例/227
★9.5 監控MongoDB的運行/229
9.5.1 【實戰】通過命令行工具監控MongoDB /229
9.5.2 【實戰】通過可視化工具Compass監控MongoDB /232
★9.6 MongoDB的數據安全/232
9.6.1 【實戰】導入/導出MongoDB的數據/232
9.6.2 【實戰】備份/恢復MongoDB的數據/235

第10章MongoDB的集群/238
★10.1 基於MongoDB複製集實現主從同步/238
10.1.1 MongoDB複製集基礎/238
10.1.2 部署MongoDB複製集/240
10.1.3 管理MongoDB複製集/247
10.1.4 【實戰】MongoDB複製集的選舉機制/253
10.1.5 【實戰】Oplog日誌和數據的同步/255
10.1.6 【實戰】MongoDB的事務/257
★10.2 基於MongoDB分片實現數據的分佈式存儲/261
10.2.1 MongoDB分片架構/261
10.2.2 【實戰】搭建MongoDB分片架構/262
10.2.3 【實戰】查看配置服務器/268
10.2.4 片鍵的選擇/270

==第3篇列式存儲NoSQL數據庫
第11章HBase基礎/274
★11.1 大數據基礎/274
11.1.1 大數據的基本概念和特性/274
11.1.2 大數據平臺要解決的核心問題/276
11.1.3 數據倉庫與大數據/278
11.1.4 Hadoop生態圈/279
★11.2 BigTable(大表)與HBase的數據模型/281
★11.3 HBase的體系架構/283
11.3.1 HMaster /284
11.3.2 Region Server /284
11.3.3 ZooKeeper /285
★11.4 部署Hadoop環境/286
11.4.1 部署前的準備/287
11.4.2 Hadoop的目錄結構/289
11.4.3 【實戰】部署H