大數據挑戰與NoSQL資料庫技術

大數據挑戰與NoSQL資料庫技術

《大數據挑戰與nosql資料庫技術》共分為三部分。理論篇重點介紹大數據時代下數據處理的基本理論及相關處理技術,並引入nosql資料庫;系統篇主要介紹了各種類型nosql資料庫的基本知識;套用篇對國內外幾家知名公司在利用nosql資料庫處理海量數據方面的實踐做了闡述。

基本介紹

  • 書名:大數據挑戰與NoSQL資料庫技術
  • 作者:陸嘉恆
  • ISBN:978-7-121-19660-7
  • 定價:79.00 元
  • 出版社:電子工業出版社
  • 出版時間: 2013-年-4月
  • 開本:16開
內容簡介,目錄,

內容簡介

《大數據挑戰與nosql資料庫技術》對大數據時代面臨的挑戰,以及nosql資料庫的基本知識做了清晰的闡述,有助於讀者整理思路,了解需求,並更有針對性、有選擇地深入學習相關知識。

目錄

第1章概論1
1.1引子2
1.2大數據挑戰3
1.3大數據的存儲和管理5
1.3.1並行資料庫5
1.3.2NoSQL數據管理系統6
1.3.3NewSQL數據管理系統8
1.3.4雲數據管理11
1.4大數據的處理和分析11
1.5小結13
參考文獻13
理論篇
第2章數據一致性理論16
2.1CAP理論17
2.2數據一致性模型21
2.3ACID與BASE22
2.4數據一致性實現技術23
2.4.1Quorum系統NRW策略23
2.4.2兩階段提交協定24
2.4.3時間戳策略27
2.4.4Paxos30
2.4.5向量時鐘38
2.5小結43
參考文獻43
第3章數據存儲模型45
3.1總論46
3.2鍵值存儲48
3.2.1Redis49
3.2.2Dynamo49
3.3列式存儲50
3.3.1Bigtable51
3.3.2Cassandra與HBase51
3.4文檔存儲52
3.4.1MongoDB53
3.4.2CouchDB53
3.5圖形存儲54
3.5.1Neo4j55
3.5.2GraphDB55
3.6本章小結56
參考文獻56
第4章數據分區與放置策略58
4.1分區的意義59
4.1.1為什麼要分區59
4.1.2分區的優點60
4.2範圍分區61
4.3列表分區62
4.4哈希分區63
4.5三種分區的比較64
4.6放置策略64
4.6.1一致性哈希算法65
4.6.2容錯性與可擴展性分析66
4.6.3虛擬節點68
4.7小結69
參考文獻69
第5章海量數據處理方法70
5.1MapReduce簡介71
5.2MapReduce數據流72
5.3MapReduce數據處理75
5.3.1提交作業76
5.3.2初始化作業78
5.3.3分配任務78
5.3.4執行任務79
5.3.5更新任務執行進度和狀態80
5.3.6完成作業81
5.4Dryad簡介81
5.4.1DFSCosmos介紹82
5.4.2Dryad執行引擎84
5.4.3DryadLINQ解釋引擎86
5.4.4DryadLINQ編程88
5.5Dryad數據處理步驟90
5.6MapReducevsDryad92
5.7小結94
參考文獻95
第6章數據複製與容錯技術96
6.1海量數據複製的作用和代價97
6.2海量數據複製的策略97
6.2.1Dynamo的資料庫複製策略97
6.2.2CouchDB的複製策略99
6.2.3PNUTS的複製策略99
6.3海量數據的故障發現與處理101
6.3.1Dynamo的資料庫的故障發現與處理101
6.3.2CouchDB的故障發現與處理103
6.3.3PNUTS的故障發現與處理103
6.4小結104
參考文獻104
第7章數據壓縮技術105
7.1數據壓縮原理106
7.1.1數據壓縮的定義106
7.1.2數據為什麼可以壓縮107
7.1.3數據壓縮分類107
7.2傳統壓縮技術[1]108
7.2.1霍夫曼編碼108
7.2.2LZ77算法109
7.3海量數據帶來的3V挑戰112
7.4Oracle混合列壓縮113
7.4.1倉庫壓縮114
7.4.2存檔壓縮114
7.5Google數據壓縮技術115
7.5.1尋找長的重複串115
7.5.2壓縮算法116
7.6Hadoop壓縮技術118
7.6.1LZO簡介118
7.6.2LZO原理[5]119
7.7小結121
參考文獻121
第8章快取技術122
8.1分散式快取簡介123
8.1.1分散式快取的產生123
8.1.2分散式快取的套用123
8.1.3分散式快取的性能124
8.1.4衡量可用性的標準125
8.2分散式快取的內部機制125
8.2.1生命期機制126
8.2.2一致性機制126
8.2.3直讀與直寫機制129
8.2.4查詢機制130
8.2.5事件觸發機制130
8.3分散式快取的拓撲結構130
8.3.1複製式拓撲131
8.3.2分割式拓撲131
8.3.3客戶端快取拓撲131
8.4小結132
參考文獻132
系統篇
第9章key—value資料庫134
9.1key—value模型綜述134
9.2Redis135
9.2.1Redis概述135
9.2.2Redis下載與安裝135
9.2.3Redis入門操作136
9.2.4Redis在業內的套用143
9.3Voldemort143
9.3.1Voldemort概述143
9.3.2Voldemort下載與安裝144
9.3.3Voldemort配置145
9.3.4Voldemort開發介紹[3]147
9.4小結149
參考文獻149
第10章Column—Oriented資料庫150
10.1Column—Oriented資料庫簡介151
10.2Bigtable資料庫151
10.2.1Bigtable資料庫簡介151
10.2.2Bigtable數據模型152
10.2.3Bigtable基礎架構154
10.3Hypertable資料庫157
10.3.1Hypertable簡介157
10.3.2Hypertable安裝157
10.3.3Hypertable架構163
10.3.4基本概念和原理164
10.3.5Hypertable的查詢168
10.4Cassandra資料庫175
10.4.1Cassandra簡介175
10.4.2Cassandra配置175
10.4.3Cassandra資料庫的連線177
10.4.4Cassandra集群機制180
10.4.5Cassandra的讀/寫機制182
10.5小結183
參考文獻183
第11章文檔資料庫185
11.1文檔資料庫簡介186
11.2CouchDB資料庫186
11.2.1CouchDB簡介186
11.2.2CouchDB安裝188
11.2.3CouchDB入門189
11.2.4CouchDB查詢200
11.2.5CouchDB的存儲結構207
11.2.6SQL和CouchDB209
11.2.7分散式環境中的CouchDB210
11.3MongoDB資料庫211
11.3.1MongoDB簡介211
11.3.2MongoDB的安裝212
11.3.3MongoDB入門215
11.3.4MongoDB索引224
11.3.5SQL與MongoDB226
11.3.6MapReduce與MongoDB229
11.3.7MongoDB與CouchDB對比234
11.4小結236
參考文獻237
第12章圖存資料庫238
12.1圖存資料庫的由來及基本概念239
12.1.1圖存資料庫的由來239
12.1.2圖存資料庫的基本概念239
12.2Neo4j圖存資料庫240
12.2.1Neo4j簡介240
12.2.2Neo4j使用教程241
12.2.3分散式Neo4j——Neo4jHA251
12.2.4Neo4j工作機制及優缺點淺析256
12.3GraphDB258
12.3.1GraphDB簡介258
12.3.2GraphDB的整體架構260
12.3.3GraphDB的數據模型264
12.3.4GraphDB的安裝266
12.3.5GraphDB的使用268
12.4OrientDB276
12.4.1背景276
12.4.2OrientDB是什麼276
12.4.3OrientDB的原理及相關技術277
12.4.4Windows下OrientDB的安裝與使用282
12.4.5相關Web套用286
12.5三種圖存資料庫的比較288
12.5.1特徵矩陣288
12.5.2分散式模式及套用比較289
12.6小結289
參考文獻290
第13章基於Hadoop的數據管理系統291
13.1Hadoop簡介292
13.2HBase293
13.2.1HBase體系結構293
13.2.2HBase數據模型297
13.2.3HBase的安裝和使用298
13.2.4HBase與RDBMS303
13.3Pig304
13.3.1Pigr的安裝和使用304
13.3.2PigLatin語言306
13.3.3Pig實例311
13.4Hive315
13.4.1Hive的數據存儲316
13.4.2Hive的元數據存儲316
13.4.3安裝Hive317
13.4.4HiveQL簡介318
13.4.5Hive的網路接口(WebUI)328
13.4.6Hive的JDBC接口328
13.5小結330
參考文獻331
第14章NewSQL資料庫332
14.1NewSQL資料庫簡介333
14.2MySQLCluster333
14.2.1概述334
14.2.2MySQLCluster的層次結構336
14.2.3MySQLCluster的優勢和套用337
14.2.4海量數據處理中的sharding技術339
14.2.5單機環境下MySQLCluster的安裝343
14.2.6MySQLCluster的分散式安裝與配置指導348
14.3VoltDB350
14.3.1傳統關係資料庫與VoltDB351
14.3.2VoltDB的安裝與配置351
14.3.3VoltDB組件354
14.3.4HelloWorld355
14.3.5使用Generate腳本361
14.3.6Eclipse集成開發362
14.4小結365
參考文獻365
第15章分散式快取系統366
15.1Memcached快取技術367
15.1.1背景介紹367
15.1.2Memcached快取技術的特點368
15.1.3Memcached安裝[3]374
15.1.4Memcached中的數據操作375
15.1.5Memcached的使用376
15.2Micros of Velocity分散式快取系統378
15.2.1Micros of Velocity簡介378
15.2.2數據分類379
15.2.3Velocity核心概念380
15.2.4Velocity安裝382
15.2.5一個簡單的Velocity客戶端套用385
15.2.6擴展型和可用性387
15.3小結388
參考文獻388
套用篇
第16章企業套用392
16.1Instagram393
16.1.1Instagram如何應對數據的急劇增長395
16.1.2Instagram的數據分片策略398
16.2Facebook對Hadoop以及HBase的套用400
16.2.1工作負載類型401
16.2.2為什麼採用ApacheHadoop和HBase403
16.2.3實時HDFS405
16.2.4HadoopHBase的實現409
16.3淘寶大數據解決之道411
16.3.1淘寶數據分析412
16.3.2淘寶大數據挑戰413
16.3.3淘寶OceanBase資料庫414
16.3.4淘寶將來的工作422
16.4小結423

相關詞條

熱門詞條

聯絡我們