图书介绍
奠定大数据的基石 NoSQL数据库技术PDF|Epub|txt|kindle电子书版本网盘下载
![奠定大数据的基石 NoSQL数据库技术](https://www.shukui.net/cover/38/30006287.jpg)
- 皮雄军编著 著
- 出版社: 佳魁信息
- ISBN:9789863791621
- 出版时间:2015
- 标注页数:502页
- 文件大小:57MB
- 文件页数:522页
- 主题词:
PDF下载
下载说明
奠定大数据的基石 NoSQL数据库技术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
Part1 NoSQL的兴起与理论基础2
Chapter 01 NoSQL与大数据简介2
1.1引子——NoSQL在中国大陆使用的案例2
1.1.1新浪微博2
1.1.2淘宝资料平台3
1.1.3视觉中国网站4
1.1.4优酷营运资料分析5
1.1.5飞信空间6
1.1.6豆瓣社区7
1.2大数据9
1.2.1大数据的度量单位9
1.2.2大数据的特点10
1.3大数据相关技术12
1.3.1大数据撷取技术12
1.3.2大数据前置处理技术12
1.3.3大数据储存及管理技术13
1.3.4大数据分析及采撷技术13
1.3.5大数据展现与应用技术14
1.4 NoSQL简介15
1.4.1什么是NoSQL15
1.4.2关联式资料库简史15
1.4.3资料库分类15
1.4.4关联式资料库的优势17
1.4.5不擅长的处理18
1.4.6 NoSQL资料库21
1.5 NoSQL资料库的类型23
1.5.1键值(Key/Value)储存23
1.5.2针对文件的资料库25
1.5.3针对列的资料库25
1.6如何使用和学习NoSQL资料库26
1.6.1始终只是一种选择26
1.6.2在何种程度上信赖它27
1.7云端资料管理27
Chapter 02 NOSQL的资料一致性29
2.1传统关联式资料库中的ACID30
2.1.1最小性30
2.1.2一致性30
2.1.3隔离性31
2.1.4持久性31
2.1.5举例31
2.2 CAP理论32
2.2.1 NoSQL系统是分散式系统32
2.2.2 CAP理论说明33
2.3 AP的实例——DNS系统35
2.3.1 DNS系统35
2.3.2 DNS域名解析过程35
2.3.3 DNS系统是最后一致性的38
2.4资料一致性模型与BASE38
2.4.1资料一致性模型38
2.4.2 BASE(Basically Available,Soft-state,Eventual consistency)40
2.5资料一致性实现方法40
2.5.1 Quorum系统NRW策略41
2.5.2时间戳记策略42
2.5.3向量时钟46
Chapter 03 NOSQL的水平扩充与其他基础知识51
3.1所有资料储存在一个伺服器上52
3.2分片(Sharding)53
3.3主从复制55
3.4对等(PeerTo Peer)复制56
3.5复制和分片的同时使用57
3.6资料水平扩充的方法归纳58
3.7分片对资料的划分方式58
3.7.1 Range-Based Partitioning59
3.7.2 Round-Robin62
3.8一致性hash演算法(Consistent Hashing)63
3.8.1基本场景63
3.8.2 hash演算法和单调性64
3.8.3 Consistent Hashing演算法的原理64
3.8.4虚拟节点67
3.9磁碟的读写特点及五分钟法则68
3.9.1磁轨、磁区、磁柱和磁头数69
3.9.2固态硬碟(SSD)随机读写速度快70
3.9.3记忆体:读写速度极快70
3.9.4五分钟法则71
3.10不要删除资料71
Part2 列式NoSQL系统73
Chapter 04 BigTable与Google云端运算原理73
4.1云端运算74
4.1.1云端运算的概念74
4.1.2云端运算发展现状78
4.1.3云端运算实现机制79
4.1.4网格计算与云端运算81
4.2 Google档案系统GFS85
4.2.1系统架构86
4.2.2容错机制89
4.2.3系统管理技术90
4.3平行资料处理MapReduce91
4.3.1产生背景91
4.3.2程式设计模型92
4.3.3实现机制93
4.4分散式锁服务Chubby97
4.4.1 Paxos演算法97
4.4.2 Chubby系统设计98
4.4.3 Chubby档案系统101
4.4.4通讯协定102
4.4.5正确性与效能105
4.5分散式结构化资料表BigTable106
4.5.1设计动机与目标107
4.5.2资料模型109
4.5.3系统架构109
4.5.4主要伺服器110
4.5.5子表伺服器111
4.5.6效能最佳化115
Chapter 05 Google云端运算的开放原始码版本——Hadoop117
5.1 Hadoop简介118
5.1.1 Hadoop发展史118
5.1.2 Apache Hadoop专案及系统结构120
5.2 Hadoop产生的原因121
5.2.1巨量的资料121
5.2.2资料的储存和分析123
5.3 Hadoop和其他系统的比较124
5.3.1和关联式资料库管理系统(RDBMS)的比较125
5.3.2和网格计算的比较126
5.4 HDFS的架构设计128
5.4.1前提和设计目标128
5.4.2 Namenode和Datanode129
5.4.3档案系统的Namespace129
5.4.4资料复制130
5.4.5档案系统中继资料的持久化131
5.4.6通讯协定132
5.4.7稳固性133
5.4.8资料组织134
5.4.9可存取性135
5.4.10空间的回收135
5.5安装Hadoop136
5.5.1安装JDK 1.7136
5.5.2安装Hadoop138
5.6 HDFS操作144
5.6.1使用FS Shell指令操作H DFS144
5.6.2程式设计读写HDFS149
5.7 Hadoop中的MapReduce模型151
5.7.1 MapReduce计算模型151
5.7.2 Hadoop中的 Hello World程式152
5.7.3执行MapReduce程式158
5.7.4 Hadoop中的Hello World程式——新的API160
5.7.5 MapReduce的资料流程和控制流162
5.8 Zookeeper164
5.8.1 Zookeeper设定安装164
5.8.2 Zookeeper的资料模型166
5.8.3 Zookeeper的基本使用167
5.8.4 ZooKeeper典型的应用场景170
5.8.5统一命名服务(Name Service)170
5.8.6共用锁(Locks )173
5.8.7佇列管理174
5.8.8 Zookeeper归纳177
5.9 HBase177
5.9.1简介177
5.9.2逻辑视图178
5.9.3实体储存179
5.9.4系统架构183
5.9.5关键演算法/流程185
5.10 HBase的安装和设定190
5.11 HBase使用实例192
Part3 Key/Value NoSQL系统195
Chapter 06 Dynamo:Amazon的高可用键值对储存195
6.1简介196
6.2背景197
6.2.1系统假设和要求198
6.2.2服务水准协定(SLA)199
6.2.3设计考虑201
6.3系统架构203
6.3.1系统介面203
6.3.2划分演算法204
6.3.3复制205
6.3.4版本的资料205
6.3.5执行get()和put()操作208
6.3.6故障处理:暗示移交(Hinted Handoff)210
6.3.7处理永久性故障:备份同步210
6.3.8会员和故障检测211
6.3.9增加/删除储存节点213
6.4实现213
6.5 Amazon使用的经验与教训215
6.5.1平衡效能和耐久性216
6.5.2确保均匀的负载分布218
6.5.3不同版本:何时以及有多少222
6.5.4用户端驱动或伺服器驱动协调223
6.5.5权衡后台和前台工作224
6.5.6讨论225
6.6结论225
Chapter07 LevelDb——出自Google的Key-Value资料库227
7.1 LevelD b简介228
7.2 LevelDb的静态部分229
7.2.1整体架构229
7.2.2 log档案232
7.2.3 SSTable档案233
7.2.4 MemTable详解237
7.3 LevelDb的动态部分238
7.3.1写入与删除记录238
7.3.2读取记录239
7.3.3 Compaction操作242
7.3.4 LevelDb中的Cache245
7.3.5 Version、VersionEdit和VersionSet247
Chapter 08 RediS实战249
8.1 Redis安装与准备250
8.1.1下载与安装250
8.1.2设定档修改251
8.1.3启动Red is253
8.1.4停止Redis254
8.2 Redis所支援的资料结构255
8.2.1 String256
8.2.2 List260
8.2.3 Set266
8.2.4 Hash/杂凑/杂凑270
8.2.5有序集合/Zset274
8.3 Key操作指令281
8.3.1概述281
8.3.2指令范例282
8.4事物286
8.4.1事物概述286
8.4.2相关指令287
8.4.3指令范例288
8.4.4 WATCH指令和以CAS为基础的乐观锁289
8.5 Redis的主从复制290
8.5.1 Redis的Replication290
8.5.2 Replication的工作原理291
8.5.3如何设定Replication291
8.5.4应用范例292
8.6 Redis的持久化293
8.6.1持久化机制293
8.6.2 RDB机制的优势和劣势293
8.6.3 AOF机制的优势和劣势294
8.6.4其他295
8.7 Redis的虚拟记忆体296
8.7.1简介296
8.7.2应用场景297
8.7.3设定297
8.8 pipeline/管线299
8.8.1请求回应协定和RTT299
8.8.2管线(pipelining)299
8.8.3 Benchmark300
8.9实例301
Part4 文件型NoSQL系统307
Chapter 09针对文件的资料库CouchDB307
9.1 CouchDB介绍308
9.1.1基本概念308
9.1.2扩充概念308
9.2 CouchDB安装与设定309
9.3 RESTAPI311
9.3.1资料库REST API311
9.3.2文件REST API311
9.3.3视图REST API312
9.3.4附件REST API312
9.4为应用建模313
9.4.1描述实体313
9.4.2描述一对一和一对多关联性314
9.4.3描述多对多关系315
9.5实战开发317
9.5.1开发Web应用317
9.5.2使用CouchDB jQuery外挂程式319
9.5.3范例应用建模320
9.5.4管理文件321
9.5.5视图325
9.6进阶内容332
9.6.1许可权控制与安全332
9.6.2文件更新验证333
9.6.3分组333
9.6.4键的排序334
Chapter10 MongoDB实战335
10.1为什么要使用MongoDB336
10.1.1不能确定的表结构资讯336
10.1.2序列化可以解决一切问题吗336
10.1.3无需定义表结构的资料库337
10.2 MongoDB的优势和不足337
10.2.1无表结构337
10.2.2容易扩充338
10.2.3丰富的功能339
10.2.4效能卓越339
10.2.5简便的管理339
10.2.6 MongoDB的不足340
10.3基本概念340
10.4 Linux下MongoDB的安装和设定、启动和停止341
10.4.1下载341
10.4.2安装341
10.4.3启动资料库343
10.4.4停止资料库346
10.5建立、更新及删除文件347
10.5.1连接资料库347
10.5.2插入记录348
10.5.3_ id key349
10.5.4修改记录350
10.5.5删除记录350
10.6查询记录351
10.6.1普通查询351
10.6.2条件查询352
10.6.3 findOne()语法353
10.6.4透过limit限制结果集数量353
10.7高级查询353
10.7.1条件运算符号354
10.7.2 $all比对所有354
10.7.3 $exists判断栏位是否存在354
10.7.4 Null值处理355
10.7.5 $mod取模运算356
10.7.6 $ne不等於356
10.7.7 $in包含357
10.7.8 $nin不包含357
10.7.9 $size阵列元素个数358
10.7.10正规表示法比对358
10.7.11 JavaScript查询和$where查询358
10.7.12 count查询记录笔数359
10.7.13 skip限制传回记录的起点359
10.7.14 sort排序360
10.7.15游标360
10.8 MapReduce361
10.8.1 Map362
10.8.2 Reduce363
10.8.3 Result363
10.8.4 Finalize364
10.8.5 Options365
10.9索引365
10.9.1基础索引366
10.9.2文件索引366
10.9.3组合索引367
10.9.4唯一索引367
10.9.5强制使用索引367
10.9.6删除索引369
10.10性能优化369
10.10.1 explain执行计画369
10.10.2最佳化器Profile370
10.10.3效能最佳化举例372
10.11性能监控374
10.11.1 mongosniff374
10.11.2 Mongostat375
10.11.3 db.serverStatus376
10.11.4 db.stats378
10.11.5协力厂商工具378
10.12 Replica Sets复制集379
10.12.1部署Replica Sets379
10.12.2主从操作记录档oplog383
10.12.3主从设定资讯384
10.12.4管理维护Replica Sets385
10.12.5增减节点388
10.13 Sharding分片393
10.13.1建立Sharding Cluster394
10.13.2管理维护Sharding397
10.14 Replica Sets和Sharding的结合404
10.14.1建立资料目录405
10.14.2设定Replica-Sets406
10.14.3设定3台Route Process408
10.14.4设定Shard Cluster409
10.14.5验证Sharding正常执行409
Part5 MySQL基础与效能最佳化411
Chapter11 MySQL基础411
11.1 CentOS 6.5下MySQL的安装412
11.2 MySQL基本指令415
11.3 MySQ L资料类型419
11.3.1整数419
11.3.2浮点数419
11.3.3定点数420
11.3.4字串(char,varchar,xxxtext )420
11.3.5二进位资料421
11.3.6日期时间类型421
11.3.7资料类型的属性421
11.4建立资料库和表422
11.5检索表中的资料426
11.6多个表的操作430
Chapter 12 MySQL进阶特性与效能最佳化435
12.1 MySQL Server系统架构436
12.1.1逻辑模组成436
12.1.2各模组工作配合439
12.2储存引擎443
12.2.1 MySQL储存引擎概述443
12.2.2 MyISAM储存引擎简介444
12.2.3 Innodb储存引擎简介446
12.3 MySQL中的锁定机制448
12.3.1 MySQL中锁定机制概述448
12.3.2合理利用锁机制最佳化MySQL450
12.4索引与最佳化453
12.4.1选择索引的资料类型453
12.4.2索引入门454
12.4.3索引的类型454
12.4.4高性能的索引策略456
12.4.5索引与加锁462
12.5 MySQL的MyISAM和Innodb的Cache最佳化464
12.5.1 MyISAM储存引擎的Cache最佳化464
12.5.2 Innodb快取相关最佳化468
12.6 MySQL的复制471
12.6.1复制对於可扩充性的意义471
12.6.2复制的原理472
12.6.3体验MySQL复制473
12.6.4复制的常用拓扑结构478
12.7可扩充性设计之资料切分484
12.7.1何谓资料切分485
12.7.2资料的垂直切分485
12.7.3资料的水平切分488
12.7.4垂直与水平联合切分的使用490
12.7.5资料切分及整合方案493
12.7.6资料切分与整合中可能存在的问题500
12.8小结502