NoSQL資料庫原理

NoSQL資料庫原理
定價:299
NT $ 236
  • 作者:侯賓
  • 出版社:人民郵電出版社
  • 出版日期:2018-08-01
  • 語言:簡體中文
  • ISBN10:711548306X
  • ISBN13:9787115483065
  • 裝訂:平裝 / 242頁 / 16k / 19 x 26 x 1.4 cm / 普通級 / 單色印刷 / 1-1
 

內容簡介

本書對統稱為NoSQL的分散式非關係型數據庫原理和使用方法進行介紹。

第一章,首先介紹NoSQL資料庫的起源背景和設計理念,以及相關技術概念。其次介紹了大資料技術體系,以及NoSQL在該技術體系的地位和作用。

第二章首先回顧關係型數據庫的主要機制,以及NoSQL資料庫的常見技術原理,以及NoSQL的常見存儲模式。

第三章對Hadoop工具進行介紹,重點介紹HDFS的技術原理和基本使用方法。

第四章介紹HBase的基本架構、基本使用方法和程式設計方法。

第五章介紹HBase中核心技術原理,包括水準分區機制、資料寫入機制、列族與合併機制等。對HBase中的管理方法、深入使用方法進行簡介。以及對HBase的協力廠商外掛程式與工具進行介紹。

第六章介紹Cassandra的基本原理和使用方法。首先介紹AmazonDynamo的相關原理,其次介紹Cassandra的安裝配置與CQL語言。

第七章介紹MongoDB為代表的文檔型資料庫的原理和基本使用方法。

第八章介紹其他一些知名的NoSQL資料庫技術與工具。
 

作者介紹

侯賓,2007年7月起在北京郵電大學任教,教學經驗豐富,平均年教學時長在100小時以上,在學生評教中一直具有良好的評價。所主講課程《信號與系統》、《電路分析基礎》等均屬於北京市精品課程,對教學過程管理和內容體系要求較高。
 

目錄

第 1章 緒論 1
 1.1 資料庫的相關概念 2
1.1.1 關係型數據庫管理系統 2
1.1.2 關係型數據庫的瓶頸 4
1.1.3 NoSQL的特點 4
1.1.4 NewSQL的概念 6
1.1.5 NoSQL的典型應用場景 7
 1.2 大資料的技術體系 8
1.2.1 大資料的特徵 9
1.2.2 大資料的採集 10
1.2.3 大資料的存儲 11
1.2.4 大資料的管理和使用 13
1.2.5 數據視覺化 13
1.2.6 大資料安全與治理 15
小結 15
思考題 16
第 2章 NoSQL資料庫的基本原理 17
 2.1 關係型數據庫的原理簡述 18
2.1.1 關係模型 18
2.1.2 關係型數據庫的完整性約束 19
2.1.3 關係型數據庫的事務機制 19
2.1.4 關係型數據庫的分散式部署 21
 2.2 分散式資料管理的特點 23
2.2.1 數據分片 24
2.2.2 數據多副本 24
2.2.3 一次寫入多次讀取 26
2.2.4 分散式系統的可伸縮性 27
 2.3 分散式系統的一致性問題 27
2.3.1 CAP原理 28
2.3.2 BASE和最終一致性 29
2.3.3 Paxos演算法簡介 30
 2.4 NoSQL的常見模式 33
2.4.1 鍵值對存儲模式 33
2.4.2 文檔式存儲模式 34
2.4.3 列存儲模式 35
2.4.4 圖存儲模式 36
 2.5 NoSQL系統的其他相關技術 37
2.5.1 分散式資料處理 37
2.5.2 時間同步服務 38
2.5.3 布隆篩檢程式 38
小結 40
思考題 40
第3章 HDFS的基本原理 41
 3.1 Hadoop概述 42
3.1.1 Hadoop的由來 42
3.1.2 Hadoop的架構與擴展 43
3.1.3 Hadoop的部署需求 45
 3.2 HDFS原理 46
3.2.1 HDFS架構 46
3.2.2 Namenode的資料結構 47
3.2.3 資料分塊和多副本機制 48
3.2.4 資料讀寫原理 50
3.2.5 HDFS支援的序列化檔 51
 3.3 部署和配置HDFS 52
3.3.1 部署HDFS 53
3.3.2 HDFS的基本配置 55
3.3.3 集群的啟動和停止 57
 3.4 使用和管理HDFS 58
3.4.1 管理和操作命令 58
3.4.2 格式化Namenode 59
3.4.3 Namenode的安全模式 60
3.4.4 中繼資料恢復 61
3.4.5 子節點添加與刪除 61
3.4.6 HDFS檔案系統操作 62
3.4.7 以Web方式查看檔案系統 64
 3.5 MapReduce原理簡介 66
 3.6 Hive分散式資料倉庫 68
小結 69
思考題 69
第4章 HBase的基本原理與使用 70
 4.1 HBase概述 71
 4.2 HBase的資料模型 72
 4.3 HBase的拓撲結構 74
 4.4 HBase部署與配置 75
 4.5 子節點伸縮性管理 78
 4.6 HBase的基本操作 79
4.6.1 HBase Shell 79
4.6.2 表和列族操作 79
4.6.3 資料更新 82
4.6.4 資料查詢 83
4.6.5 過濾查詢 85
4.6.6 快照操作 89
 4.7 批量導入匯出 89
4.7.1 批量導入數據 89
4.7.2 備份和恢復 91
 4.8 通過Java訪問HBase 92
4.8.1 開發環境的配置 92
4.8.2 表的連接和操作 93
4.8.3 資料更新 94
4.8.4 資料查詢 96
4.8.5 刪除列和行 97
4.8.6 篩檢程式的使用 98
 4.9 通過Python訪問HBase 99
4.9.1 基於Thrift框架的多語言程式設計 99
4.9.2 環境準備 100
4.9.3 代碼分析 101
小結 104
思考題 104
第5章 HBase的高 級原理 105
 5.1 水準分區原理 106
5.1.1 META表 106
5.1.2 資料寫入和讀取機制 108
5.1.3 預寫日誌 110
5.1.4 分區拆分 111
 5.2 列族與Store 113
5.2.1 列族的屬性 113
5.2.2 表在HDFS上的存儲 115
5.2.3 HFile的結構 116
5.2.4 Storefile合併 119
 5.3 資料表的基本設計原則 121
5.4 HBase集群的高可用性與伸縮性 121
5.4.1 Zookeeper的基本原理 122
5.4.2 基於Zookeeper的高可用性 124
5.4.3 獨立安裝Zookeeper 125
5.4.4 集群間同步複製 126
 5.5 HBase的擴展 128
5.5.1 輔助處理器機制 128
5.5.2 基於HBase的分散式處理 129
5.5.3 擴展開源軟體 131
5.5.4 FusionInsight HD簡介 134
小結 135
思考題 136
第6章 Cassandra的原理和使用 137
 6.1 Cassandra概述 138
 6.2 Cassandra的技術原理 138
6.2.1 Amazon Dynamo 138
6.2.2 Cassandra的資料模型 143
6.2.3 Yaml格式 145
6.2.4 其他相關技術原理 146
 6.3 Cassandra的部署與配置 147
6.3.1 單節點部署Cassandra 147
6.3.2 Cassandra的設定檔 148
6.3.3 Cassandra集群部署 150
6.3.4 集群啟動 150
 6.4 CQL語言與cqlsh環境 151
6.4.1 cqlsh環境簡介 152
6.4.2 鍵空間管理 153
6.4.3 資料表管理 156
6.4.4 CQL的資料類型 158
 6.5 CQL資料查詢 161
6.5.1 基本資料查詢 161
6.5.2 條件查詢 162
6.5.3 索引機制 164
6.5.4 使用標量函數 166
 6.6 CQL資料更新 166
6.6.1 插入、更新和刪除 166
6.6.2 讀寫一致性 169
6.6.3 集合列操作 171
6.6.4 計數器列的操作 174
6.6.5 日期時間列的操作 175
6.6.6 批量導入/匯出數據 176
 6.7 基本集群維護方法 177
6.7.1 程式設計介面簡介 177
6.7.2 多資料中心與機架感知策略 177
6.7.3 Nodetool工具 178
6.7.4 常見節點管理方法 180
 6.8 程式設計訪問Cassandra 181
6.8.1 通過Java訪問Cassandra 181
6.8.2 通過Python訪問Cassandra 182
 小結 183
 思考題 183
第7章 MongoDB的原理和使用 184
 7.1 概述 185
 7.2 MongoDB的技術原理 185
7.2.1 文檔和集合 185
7.2.2 分片機制和集群架構 186
7.2.3 CouchDB簡介 188
 7.3 安裝配置MongoDB 189
7.3.1 單機環境部署 189
7.3.2 MongoDB的設定檔 191
 7.4 基本命令列操作 191
7.4.1 Shell環境 191
7.4.2 資料庫和集合操作 193
7.4.3 基本增刪改查操作 194
7.4.4 聚合和管道 196
7.4.5 索引操作 198
7.4.6 Gridfs的原理和操作 201
 7.5 批量操作和資料備份 203
 7.6 MongoDB集群化部署 204
7.6.1 單機多實例 204
7.6.2 部署複製集 205
7.6.3 部署分片集 209
 7.7 通過Java訪問MongoDB 213
7.7.1 表和資料操作 213
7.7.2 Gridfs操作 216
 7.8 通過Python訪問MongoDB 218
小結 220
思考題 220
第8章 其他NoSQL資料庫簡介 221
 8.1 圖資料庫簡介 222
 8.2 Neo4j的安裝與使用 223
8.2.1 在Windows中安裝Neo4j 223
8.2.2 在CentOS 7中安裝Neo4j 224
8.2.3 Neo4j的Web操作介面 225
8.2.4 Cypher語言簡介 226
8.2.5 通過Java訪問Neo4j 229
8.2.6 通過Python訪問Neo4j 230
 8.3 Redis和記憶體中資料庫 231
 8.4 搜尋引擎系統 232
小結 236
思考題 236
附錄 237
附錄1 在CentOS 7上實現SSH無密碼訪問 237
附錄2 在CentOS 7上部署NTP服務端與用戶端 239
附錄3 在CentOS 7上安裝Python 3 240
附錄4 在CentOS 7上安裝Thrift編譯器 241
附錄5 《NoSQL資料庫原理》配套實驗課程方案簡介 242
網路書店 類別 折扣 價格
  1. 新書
    79
    $236