图书介绍
NoSQL数据库技术实战PDF|Epub|txt|kindle电子书版本网盘下载
- 皮雄军编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302380399
- 出版时间:2015
- 标注页数:388页
- 文件大小:67MB
- 文件页数:406页
- 主题词:数据库系统
PDF下载
下载说明
NoSQL数据库技术实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 NoSQL的兴起与理论基础2
第1章 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 大数据8
1.2.1 大数据的度量单位8
1.2.2 大数据的特点9
1.3 大数据相关技术10
1.3.1 大数据采集技术10
1.3.2 大数据预处理技术11
1.3.3 大数据存储及管理技术11
1.3.4 大数据分析及挖掘技术11
1.3.5 大数据展现与应用技术12
1.4 NoSQL简介12
1.4.1 什么是NoSQL12
1.4.2 关系型数据库简史13
1.4.3 数据库分类13
1.4.4 关系型数据库的优势14
1.4.5 不擅长的处理15
1.4.6 NoSQL数据库18
1.5 NoSQL数据库的类型20
1.5.1 键值(Key/Value)存储20
1.5.2 面向文档的数据库21
1.5.3 面向列的数据库22
1.6 如何使用和学习NoSQL数据库23
1.6.1 始终只是一种选择23
1.6.2 在何种程度上信赖它23
1.7 云数据管理24
第2章 NoSQL的数据一致性25
2.1 传统关系数据库中的ACID25
2.1.1 原子性25
2.1.2 一致性25
2.1.3 隔离性26
2.1.4 持久性26
2.1.5 举例26
2.2 CAP理论27
2.2.1 NoSQL系统是分布式系统27
2.2.2 CAP理论阐述27
2.3 AP的例子——DNS系统29
2.3.1 DNS系统29
2.3.2 DNS域名解析过程29
2.3.3 DNS系统是最终一致性的31
2.4 数据一致性模型与BASE31
2.4.1 数据一致性模型31
2.4.2 BASE(Basically Available,Soft-state,Eventual consistency)32
2.5 数据一致性实现方法33
2.5.1 Quorum系统NRW策略33
2.5.2 时间戳策略34
2.5.3 向量时钟37
第3章 NoSQL的水平扩展与其他基础知识41
3.1 所有数据存放在一个服务器上41
3.2 分片(Sharding)41
3.3 主从复制43
3.4 对等(Peer To Peer)复制44
3.5 复制和分片的同时使用45
3.6 数据水平扩展的方法总结46
3.7 分片对数据的划分方式46
3.7.1 Range-Based Partitioning47
3.7.2 Round-Robin49
3.8 一致性hash算法(Consistent Hashing)50
3.8.1 基本场景51
3.8.2 hash算法和单调性51
3.8.3 Consistent Hashing算法的原理51
3.8.4 虚拟节点54
3.9 磁盘的读写特点及五分钟法则55
3.9.1 磁道、扇区、柱面和磁头数56
3.9.2 固态硬盘(SSD):随机读写速度快57
3.9.3 内存:读写速度极快57
3.9.4 五分钟法则57
3.10 不要删除数据58
第2篇 列式NoSQL系统60
第4章 BigTable与Google云计算原理60
4.1 云计算60
4.1.1 云计算的概念60
4.1.2 云计算发展现状63
4.1.3 云计算实现机制64
4.1.4 网格计算与云计算66
4.2 Google文件系统GFS68
4.2.1 系统架构69
4.2.2 容错机制71
4.2.3 系统管理技术72
4.3 并行数据处理MapReduce73
4.3.1 产生背景73
4.3.2 编程模型73
4.3.3 实现机制74
4.4 分布式锁服务Chubby78
4.4.1 Paxos算法78
4.4.2 Chubby系统设计79
4.4.3 Chubby文件系统80
4.4.4 通信协议82
4.4.5 正确性与性能83
4.5 分布式结构化数据表BigTable84
4.5.1 设计动机与目标85
4.5.2 数据模型85
4.5.3 系统架构87
4.5.4 主服务器88
4.5.5 子表服务器89
4.5.6 性能优化92
第5章 Google云计算的开源版本——Hadoop94
5.1 Hadoop简介94
5.1.1 Hadoop发展史94
5.1.2 Apache Hadoop项目及体系结构96
5.2 Hadoop产生的原因97
5.2.1 海量的数据97
5.2.2 数据的存储和分析98
5.3 Hadoop和其他系统的比较99
5.3.1 和关系型数据库管理系统(RDBMS)的比较99
5.3.2 和网格计算的比较100
5.4 HDFS的架构设计101
5.4.1 前提和设计目标102
5.4.2 Namenode和Datanode102
5.4.3 文件系统的Namespace103
5.4.4 数据复制103
5.4.5 文件系统元数据的持久化104
5.4.6 通讯协议105
5.4.7 健壮性105
5.4.8 数据组织106
5.4.9 可访问性107
5.4.10 空间的回收107
5.5 安装Hadoop108
5.5.1 安装JDK 1.7108
5.5.2 安装Hadoop109
5.6 HDFS操作113
5.6.1 使用FS Shell命令操作HDFS113
5.6.2 编程读写HDFS118
5.7 H-adoop中的MapReduce模型119
5.7.1 MapReduce计算模型119
5.7.2 Hadoop中的Hello World程序120
5.7.3 运行MapReduce程序124
5.7.4 Hadoop中的Hello World程序——新的API125
5.7.5 MapReduce的数据流和控制流127
5.8 Zookeeper129
5.8.1 Zookeeper配置安装129
5.8.2 Zookeeper的数据模型130
5.8.3 Zookeeper的基本使用131
5.8.4 ZooKeeper典型的应用场景133
5.8.5 统一命名服务(Name Service)133
5.8.6 共享锁(Locks)136
5.8.7 队列管理137
5.8.8 Zookeeper总结139
5.9 HBase139
5.9.1 简介139
5.9.2 逻辑视图139
5.9.3 物理存储141
5.9.4 系统架构144
5.9.5 关键算法/流程146
5.10 HBase的安装和配置149
5.11 HBase使用例子151
第3篇 Key/Value NoSQL系统156
第6章 Dynamo:Amazon的高可用键值对存储156
6.1 简介156
6.2 背景157
6.2.1 系统假设和要求158
6.2.2 服务水平协议(SLA)158
6.2.3 设计考虑160
6.3 系统架构161
6.3.1 系统接口162
6.3.2 划分算法162
6.3.3 复制163
6.3.4 版本的数据163
6.3.5 执行get()和put()操作165
6.3.6 故障处理:暗示移交(Hinted Handoff)166
6.3.7 处理永久性故障:副本同步167
6.3.8 会员和故障检测167
6.3.9 添加/删除存储节点169
6.4 实现169
6.5 Amazon使用的经验与教训170
6.5.1 平衡性能和耐久性171
6.5.2 确保均匀的负载分布172
6.5.3 不同版本:何时以及有多少175
6.5.4 客户端驱动或服务器驱动协调176
6.5.5 权衡后台和前台任务177
6.5.6 讨论177
6.6 结论178
第7章 LevelDb——出自Google的Key-Value数据库179
7.1 LevelDb简介179
7.2 LevelDb的静态部分180
7.2.1 整体架构180
7.2.2 log文件182
7.2.3 SSTable文件183
7.2.4 MemTable详解186
7.3 LevelDb的动态部分187
7.3.1 写入与删除记录187
7.3.2 读取记录188
7.3.3 Compaction操作190
7.3.4 LevelDb中的Cache192
7.3.5 Version、VersionEdit和VersionSet194
第8章 Redis实战195
8.1 Redis安装与准备195
8.1.1 下载与安装195
8.1.2 配置文件修改196
8.1.3 启动Redis197
8.1.4 停止Re1is198
8.2 Redis所支持的数据结构198
8.2.1 String199
8.2.2 List203
8.2.3 Set207
8.2.4 Hash/哈希/散列210
8.2.5 有序集合/Zset213
8.3 Key操作命令218
8.3.1 概述218
8.3.2 命令示例220
8.4 事物223
8.4.1 事物概述223
8.4.2 相关命令223
8.4.3 命令示例224
8.4.4 WATCH命令和基于CAS的乐观锁225
8.5 Redis的主从复制226
8.5.1 Redis的Replication226
8.5.2 Replication的工作原理227
8.5.3 如何配置Replication227
8.5.4 应用示例228
8.6 Redis的持久化228
8.6.1 持久化机制228
8.6.2 RDB机制的优势和劣势229
8.6.3 AOF机制的优势和劣势229
8.6.4 其他230
8.7 Redis的虚拟内存231
8.7.1 简介231
8.7.2 应用场景231
8.7.3 配置231
8.8 pipeline/管线233
8.8.1 请求应答协议和RTT233
8.8.2 管线(pipelining)233
8.8.3 Benchmark234
8.9 实例234
第4篇 文档型NoSQL系统240
第9章 面向文档的数据库CouchDB240
9.1 CouchDB介绍240
9.1.1 基本概念240
9.1.2 扩展概念241
9.2 CouchDB安装与配置241
9.3 REST API242
9.3.1 数据库RESTAPI243
9.3.2 文档RESTAPI243
9.3.3 视图RESTAPI243
9.3.4 附件RESTAPI244
9.4 为应用建模244
9.4.1 描述实体244
9.4.2 描述一对一和一对多关系245
9.4.3 描述多对多关系246
9.5 实战开发247
9.5.1 开发Web应用247
9.5.2 使用CouchDB jQuery插件248
9.5.3 示例应用建模249
9.5.4 管理文档250
9.5.5 视图253
9.6 高级话题259
9.6.1 权限控制与安全259
9.6.2 文档更新校验259
9.6.3 分组259
9.6.4 键的排序260
第10章 MongoDB实战261
10.1 为什么要使用MongoDB261
10.1.1 不能确定的表结构信息261
10.1.2 序列化可以解决一切问题吗261
10.1.3 无需定义表结构的数据库262
10.2 MongoDB的优势和不足262
10.2.1 无表结构262
10.2.2 容易扩展263
10.2.3 丰富的功能263
10.2.4 性能卓越264
10.2.5 简便的管理264
10.2.6 MongoDB的不足264
10.3 基本概念264
10.4 Linux下MongoDB的安装和配置、启动和停止265
10.4.1 下载265
10.4.2 安装266
10.4.3 启动数据库267
10.4.4 停止数据库269
10.5 创建、更新及删除文档270
10.5.1 连接数据库270
10.5.2 插入记录270
10.5.3 _id key272
10.5.4 修改记录272
10.5.5 删除记录272
10.6 查询记录273
10.6.1 普通查询273
10.6.2 条件查询274
10.6.3 findOne()语法274
10.6.4 通过limit限制结果集数量274
10.7 高级查询275
10.7.1 条件操作符275
10.7.2 $all匹配所有275
10.7.3 $exists判断字段是否存在276
10.7.4 Null值处理276
10.7.5 $mod取模运算276
10.7.6 $ne不等于277
10.7.7 $in包含277
10.7.8 $nin不包含278
10.7.9 $size数组元素个数278
10.7.10 正则表达式匹配278
10.7.11 JavaScript查询和$where查询279
10.7.12 count查询记录条数279
10.7.13 skip限制返回记录的起点279
10.7.14 sort排序280
10.7.15 游标280
10.8 MapReduce281
10.8.1 Map282
10.8.2 Reduce282
10.8.3 Result282
10.8.4 Finalize283
10.8.5 Options283
10.9 索引284
10.9.1 基础索引284
10.9.2 文档索引285
10.9.3 组合索引285
10.9.4 唯一索引285
10.9.5 强制使用索引286
10.9.6 删除索引287
10.10 性能优化287
10.10.1 explain执行计划287
10.10.2 优化器Profile288
10.10.3 性能优化举例289
10.11 性能监控290
10.11.1 mongosniff291
10.11.2 Mongostat292
10.11.3 db.serverStatus292
10.11.4 db.stats294
10.11.5 第三方工具294
10.12 Replica Sets复制集294
10.12.1 部署Replica Sets295
10.12.2 主从操作日志oplog297
10.12.3 主从配置信息298
10.12.4 管理维护Replica Sets299
10.12.5 增减节点301
10.13 Sharding分片305
10.13.1 建立Sharding Cluster306
10.13.2 管理维护Sharding308
10.14 Replica Sets和Sharding的结合313
10.14.1 创建数据目录314
10.14.2 配置Replica Sets314
10.14.3 配置3台Route Process316
10.14.4 配置Shard Cluster316
10.14.5 验证Sharding正常工作317
第5篇 MySQL基础与性能优化320
第11章 MySQL基础320
11.1 CentOS 6.5 下MySQL的安装320
11.2 MySQL基本命令322
11.3 MySQL数据类型325
11.3.1 整型325
11.3.2 浮点型326
11.3.3 定点数326
11.3.4 字符串(char,varchar,xxxtext)326
11.3.5 二进制数据327
11.3.6 日期时间类型327
11.3.7 数据类型的属性327
11.4 创建数据库和表328
11.5 检索表中的数据331
11.6 多个表的操作334
第12章 MySQL高级特性与性能优化338
12.1 MySQL Server系统架构338
12.1.1 逻辑模块组成338
12.1.2 各模块工作配合341
12.2 存储引擎343
12.2.1 MySQL存储引擎概述343
12.2.2 MyISAM存储引擎简介344
12.2.3 Innodb存储引擎简介346
12.3 MySQL中的锁定机制347
12.3.1 MySQL中锁定机制概述347
12.3.2 合理利用锁机制优化MySQL349
12.4 索引与优化350
12.4.1 选择索引的数据类型351
12.4.2 索引入门351
12.4.3 索引的类型352
12.4.4 高性能的索引策略353
12.4.5 索引与加锁358
12.5 MySQL的MyISAM和Innodb的Cache优化359
12.5.1 MyISAM存储引擎的Cache优化359
12.5.2 Innodb缓存相关优化362
12.6 MySQL的复制364
12.6.1 复制对于可扩展性的意义364
12.6.2 复制的原理365
12.6.3 体验MySQL复制366
12.6.4 复制的常用拓扑结构370
12.7 可扩展性设计之数据切分375
12.7.1 何谓数据切分375
12.7.2 数据的垂直切分375
12.7.3 数据的水平切分377
12.7.4 垂直与水平联合切分的使用379
12.7.5 数据切分及整合方案381
12.7.6 数据切分与整合中可能存在的问题386
12.8 小结388