《大数据挑战与NoSQL数据库技术》
基本信息
作者: 陆嘉恒
丛书名: 大数据丛书
出版社:电子工业出版社
ISBN:9787121196607
上架时间:2013-3-25
出版日期:2013 年4月
开本:16开
页码:440
版次:1-1
所属分类:计算机
![](http://images.china-pub.com/ebook3800001-3805000/3800167/zcover.jpg)
更多关于 》》》《
大数据挑战与NoSQL数据库技术》
内容简介
书籍
计算机书籍
《大数据挑战与nosql数据库技术》共分为三部分。理论篇重点介绍大数据时代下数据处理的基本理论及相关处理技术,并引入nosql数据库;系统篇主要介绍了各种类型nosql数据库的基本知识;应用篇对国内外几家知名公司在利用nosql数据库处理海量数据方面的实践做了阐述。
《大数据挑战与nosql数据库技术》对大数据时代面临的挑战,以及nosql数据库的基本知识做了清晰的阐述,有助于读者整理思路,了解需求,并更有针对性、有选择地深入学习相关知识。
目录
《大数据挑战与nosql数据库技术》
第1章 概论1
1.1 引子2
1.2 大数据挑战3
1.3 大数据的存储和管理5
1.3.1 并行数据库5
1.3.2 nosql数据管理系统6
1.3.3 newsql数据管理系统8
1.3.4 云数据管理11
1.4 大数据的处理和分析11
1.5 小结13
参考文献13
理 论 篇
第2章 数据一致性理论16
2.1 cap理论17
2.2 数据一致性模型21
2.3 acid与base22
2.4 数据一致性实现技术23
2.4.1 quorum系统nrw策略23
2.4.2 两阶段提交协议24
.2.4.3 时间戳策略27
2.4.4 paxos30
2.4.5 向量时钟38
2.5 小结43
参考文献43
第3章 数据存储模型45
3.1 总论46
3.2 键值存储48
3.2.1 redis49
3.2.2 dynamo49
3.3 列式存储50
3.3.1 bigtable51
3.3.2 cassandra与hbase51
3.4 文档存储52
3.4.1 mongodb53
3.4.2 couchdb53
3.5 图形存储54
3.5.1 neo4j55
3.5.2 graphdb55
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.1 mapreduce简介71
5.2 mapreduce数据流72
5.3 mapreduce数据处理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.4 dryad简介81
5.4.1 dfs cosmos介绍82
5.4.2 dryad执行引擎84
5.4.3 dryadlinq解释引擎86
5.4.4 dryadlinq编程88
5.5 dryad数据处理步骤90
5.6 mapreduce vs dryad92
5.7 小结94
参考文献95
第6章 数据复制与容错技术96
6.1 海量数据复制的作用和代价97
6.2 海量数据复制的策略97
6.2.1 dynamo的数据库复制策略97
6.2.2 couchdb的复制策略99
6.2.3 pnuts的复制策略99
6.3 海量数据的故障发现与处理101
6.3.1 dynamo的数据库的故障发现与处理101
6.3.2 couchdb的故障发现与处理103
6.3.3 pnuts的故障发现与处理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.2 lz77算法109
7.3 海量数据带来的3v挑战112
7.4 oracle混合列压缩113
7.4.1 仓库压缩114
7.4.2 存档压缩114
7.5 google数据压缩技术115
7.5.1 寻找长的重复串115
7.5.2 压缩算法116
7.6 hadoop压缩技术118
7.6.1 lzo简介118
7.6.2 lzo原理[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.1 key-value模型综述134
9.2 redis135
9.2.1 redis概述135
9.2.2 redis下载与安装135
9.2.3 redis入门操作136
9.2.4 redis在业内的应用143
9.3 voldemort143
9.3.1 voldemort概述143
9.3.2 voldemort下载与安装144
9.3.3 voldemort配置145
9.3.4 voldemort开发介绍[3]147
9.4 小结149
参考文献149
第10章 column-oriented数据库150
10.1 column-oriented数据库简介151
10.2 bigtable数据库151
10.2.1 bigtable数据库简介151
10.2.2 bigtable数据模型152
10.2.3 bigtable基础架构154
10.3 hypertable数据库157
10.3.1 hypertable简介157
10.3.2 hypertable安装157
10.3.3 hypertable架构163
10.3.4 基本概念和原理164
10.3.5 hypertable的查询168
10.4 cassandra数据库175
10.4.1 cassandra简介175
10.4.2 cassandra配置175
10.4.3 cassandra数据库的连接177
10.4.4 cassandra集群机制180
10.4.5 cassandra的读/写机制182
10.5 小结183
参考文献183
第11章 文档数据库185
11.1 文档数据库简介186
11.2 couchdb数据库186
11.2.1 couchdb简介186
11.2.2 couchdb安装188
11.2.3 couchdb入门189
11.2.4 couchdb查询200
11.2.5 couchdb的存储结构207
11.2.6 sql和couchdb209
11.2.7 分布式环境中的couchdb210
11.3 mongodb数据库211
11.3.1 mongodb简介211
11.3.2 mongodb的安装212
11.3.3 mongodb入门215
11.3.4 mongodb索引224
11.3.5 sql与mongodb226
11.3.6 mapreduce与mongodb229
11.3.7 mongodb与couchdb对比234
11.4 小结236
参考文献237
第12章 图存数据库238
12.1 图存数据库的由来及基本概念239
12.1.1 图存数据库的由来239
12.1.2 图存数据库的基本概念239
12.2 neo4j图存数据库240
12.2.1 neo4j简介240
12.2.2 neo4j使用教程241
12.2.3 分布式neo4j——neo4j ha251
12.2.4 neo4j工作机制及优缺点浅析256
12.3 graphdb258
12.3.1 graphdb简介258
12.3.2 graphdb的整体架构260
12.3.3 graphdb的数据模型264
12.3.4 graphdb的安装266
12.3.5 graphdb的使用268
12.4 orientdb276
12.4.1 背景276
12.4.2 orientdb是什么276
12.4.3 orientdb的原理及相关技术277
12.4.4 windows下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.1 hadoop简介292
13.2 hbase293
13.2.1 hbase体系结构293
13.2.2 hbase数据模型297
13.2.3 hbase的安装和使用298
13.2.4 hbase与rdbms303
13.3 pig304
13.3.1 pigr的安装和使用304
13.3.2 pig latin语言306
13.3.3 pig实例311
13.4 hive315
13.4.1 hive的数据存储316
13.4.2 hive的元数据存储316
13.4.3 安装hive317
13.4.4 hiveql简介318
13.4.5 hive的网络接口(webui)328
13.4.6 hive的jdbc接口328
13.5 小结330
参考文献331
第14章 newsql数据库332
14.1 newsql数据库简介333
14.2 mysql cluster333
14.2.1 概述334
14.2.2 mysql cluster的层次结构336
14.2.3 mysql cluster的优势和应用337
14.2.4 海量数据处理中的sharding技术339
14.2.5 单机环境下mysql cluster的安装343
14.2.6 mysql cluster的分布式安装与配置指导348
14.3 voltdb350
14.3.1 传统关系数据库与voltdb351
14.3.2 voltdb的安装与配置351
14.3.3 voltdb组件354
14.3.4 hello world355
14.3.5 使用generate脚本361
14.3.6 eclipse集成开发362
14.4 小结365
参考文献365
第15章 分布式缓存系统366
15.1 memcached缓存技术367
15.1.1 背景介绍367
15.1.2 memcached缓存技术的特点368
15.1.3 memcached安装[3]374
15.1.4 memcached中的数据操作375
15.1.5 memcached的使用376
15.2 microsoft velocity分布式缓存系统378
15.2.1 microsoft velocity简介378
15.2.2 数据分类379
15.2.3 velocity核心概念380
15.2.4 velocity安装382
15.2.5 一个简单的velocity客户端应用385
15.2.6 扩展型和可用性387
15.3 小结388
参考文献388
应 用 篇
第16章 企业应用392
16.1 instagram393
16.1.1 instagram如何应对数据的急剧增长395
16.1.2 instagram的数据分片策略398
16.2 facebook对hadoop以及hbase的应用400
16.2.1 工作负载类型401
16.2.2 为什么采用apache hadoop和hbase403
16.2.3 实时hdfs405
16.2.4 hadoop hbase的实现409
16.3 淘宝大数据解决之道411
16.3.1 淘宝数据分析412
16.3.2 淘宝大数据挑战413
16.3.3 淘宝oceanbase数据库414
16.3.4 淘宝将来的工作422
16.4 小结423
参考文献423