大数据挑战与NoSQL数据库技术pdf

时间:2021-06-04 08:48:02

下载地址:网盘下载

 

 

内容简介

编辑

  《大数据挑战与nosql数据库技术》对大数据时代面临的挑战,以及nosql数据库的基本知识做了清晰的阐述,有助于读者整理思路,了解需求,并更有针对性、有选择地深入学习相关知识。 [1]  

目录

编辑
第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

 

 

下载地址: 网盘下载