《NoSQL数据库入门与实践 基于MongoDB、Redis》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘瑜,刘胜松著
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2018
  • ISBN:9787517060840
  • 页数:483 页
图书介绍:在大数据爆发的短短十多年,NOSQL成了热门的处理大数据必掌握的核心技术之一。为在校高校生或者需要转行的IT工程师提供既全面的NOSQL基础知识,又具有动手可以实践的内容,同时尽量采用生产环境下大数据实战案例(本书采用电商大数据真实案例),是本书的考虑要点、亮点。对于想轻松地实现MongoDB、Redis数据库入门和技术提高的读者,本书也不失为一种很好的学习选择。本书提供了大量实践代码程序。并提供学习视频。

NoSQL基础部分 2

第1章 初识NoSQL 2

1.1什么是NoSQL 3

1.1.1引子 3

【应用案例1.1】 12306网上订火车票系统 3

【应用案例1.2 】 Hadoop的产生 4

1.1.2 NoSQL相关概念 5

1.2数据库分类 8

1.2.1 TRDB数据库 9

1.2.2 NoSQL数据库 11

1.2.3 NewSQL数据库 13

1.3学习帮助 13

1.3.1学习资料 14

1.3.2学习建议 14

1.4小结 15

1.5练习 15

第2章TRDB与NoSQL的技术比较 17

2.1硬件运行原理 18

2.1.1单机的局限性 18

2.1.2服务器的纵横扩充 20

2.2软件实现技术比较 23

2.2.1数据存储结构更加简单 23

2.2.2引入分布式技术架构 24

【应用案例2.1】 CAP故障模式下的3种情况 27

2.2.3事务 28

【应用案例2.2 】 BASE在电子商务中的应用 29

2.2.4 SQL技术标准 30

2.2.5分析技术 30

2.3小结 32

2.4练习 32

第3章NoSQL数据存储模式 34

3.1键值数据存储模式 35

3.1.1键值存储实现 35

3.1.2键值存储特点 40

3.1.3应用实例 42

【应用案例3.3】 Amazon Simple Storage Service, S3 42

【应用案例3.2】 Redis国内应用情况 43

3.2文档数据存储模式 43

3.2.1文档存储实现 44

3.2.2文档存储特点 50

3.2.3应用实例 52

【应用案例3.3】大都会人寿保险公司成功应用 52

【应用案例3.4】国内外部分成功案例用户名单 53

3.3列族数据存储模式 53

3.3.1列族存储实现 54

3.3.2列族存储特点 57

3.3.3应用实例 58

【应用案例3.5 】 Cassandra在Netflix公司的成功应用 58

3.4图数据存储模式 59

3.4.1图存储实现 60

3.4.2图存储特点 61

3.4.3应用实例 63

【应用案例3.6 】 Neo4j在eBay公司的成功应用 63

3.5其他数据存储模式 64

3.5.1多模式数据库 64

3.5.2对象数据库 65

3.5.3网格和云数据库 66

3.5.4 XML数据库 67

3.5.5多维数据库 67

3.5.6多值数据库 68

3.5.7事件驱动数据库 68

3.5.8时间序列/流数据库 69

3.5.9其他NoSQL相关的数据库 70

3.5.10科学、专业的数据库 70

3.5.11未解决和归类的数据库 70

3.6小结 71

3.7练习 72

NoSQL实践部分(电商大数据) 77

第4章 文档数据库MongoDB入门 77

4.1MongoDB使用准备 78

4.1.1了解MongoDB 78

4.1.2 MongoDB安装 79

4.1.3数据库建立基本规则 84

4.1.4数据库建立 87

4.2 MongoDB基本操作 90

4.2.1插入文档 90

4.2.2查询文档 95

4.2.3更新文档 99

4.2.4删除文档 108

4.2.5索引 111

4.2.6聚合 116

4.2.7复制 119

4.2.8分片 123

4.2.9写出错机制 132

4.3 MongoDB常用配置参数 135

4.3.1网络配置 135

4.3.2存储配置 141

4.4第一个简单的案例 144

4.4.1用Java连接MongoDB 145

4.4.2生产级Java连接 MongoDB公共架构 146

4.4.3高并发模拟 149

4.5小结 151

4.6实验 151

第5章 文档数据库MongoDB提高 152

5.1BASE操作 153

5.1.1单文档原子性操作 153

5.1.2多文档隔离性操作 156

5.2高级索引及索引限制 157

5.2.1高级索引 157

5.2.2索引限制 159

5.3查询高级分析 161

5.3.1大规模记录数据准备 161

5.3.2 Explain()分析 161

5.3.3 Hint()分析 164

5.4可视化管理工具 166

5.4.1 RoboMongo管理工具 166

5.4.2其他可视化管理工具 173

5.5小结 174

5.6实验 175

第6章MongoDB案例实战(电商大数据) 176

6.1日志存储 177

6.1.1日志使用需求 177

6.1.2建立数据集 177

6.1.3新增一个日志 179

6.1.4查询日志信息 181

6.1.5查询结果显示 182

6.2商品评论 183

6.2.1商品评价使用需求 183

6.2.2建立数据集 184

6.2.3新增评价 184

6.2.4分页查询评价 186

6.2.5执行结果显示 186

6.3用户扩展信息管理 187

6.3.1用户扩展信息使用需求 187

6.3.2建立数据集 188

6.3.3新增用户扩展信息 189

6.3.4多条件查询用户扩展信息 190

6.3.5执行结果显示 191

6.4订单信息记录 191

6.4.1订单使用需求 191

6.4.2建立数据集 192

6.4.3新增订单 193

6.4.4聚合查询订单数量 194

6.4.5执行结果显示 194

6.5商品信息管理 195

6.5.1商品信息使用需求 195

6.5.2建立数据集 196

6.5.3新增商品 197

6.5.4查询修改商品 198

6.5.5执行结果显示 198

6.6历史订单 198

6.6.1历史订单使用需求 199

6.6.2建立数据集 199

6.6.3批量新增历史订单 199

6.6.4查询历史订单 200

6.6.5执行结果显示 201

6.7点击量存储 201

6.7.1点击量需求描述 202

6.7.2建立数据集 202

6.7.3新增点击量日志 203

6.7.4查询统计点击量 203

6.7.5查询结果展示 204

6.8小结 204

6.9实验 205

第7章 键值数据库Redis入门 206

7.1使用准备 208

7.1.1了解Redis 208

7.1.2 Redis安装 209

7.1.3 Redis-cli 212

7.1.4 Redis存储模式 213

7.2 Redis命令 217

7.2.1字符串命令 217

7.2.2列表命令 231

7.2.3集合命令 240

7.2.4散列表命令 247

7.2.5有序集合命令 253

7.2.6发布订阅命令 264

7.2.7连接命令 268

7.2.8 Server操作命令 270

7.2.9脚本命令 284

7.2.10键命令 286

7.2.11HyperLogLog命令 297

7.2.12地理空间命令 299

7.2.13事务命令 301

7.2.14集群命令 304

7.3 Redis配置及参数 316

7.3.1 Config配置文件 316

7.3.2配置文件参数 318

7.4 Java连接Redis数据库 325

7.4.1 Redis连接配置 325

7.4.2 Redis初始化工具类 326

7.5小结 328

7.6实验 329

第8章 键值数据库Redis提高 330

8.1管道 331

8.1.1管道技术原理 331

8.1.2基于Java的管道技术使用 332

8.2分布式集群 334

8.2.1集群安装 334

8.2.2模拟节点故障 338

8.2.3加减节点 340

8.3 Lua脚本应用 342

8.3.1 Lua脚本使用基本知识 343

8.3.2 Lua实现案例 344

8.4可视化管理工具 345

8.4.1 Redis Desktop Manager 345

8.4.2 Redis Client 345

8.4.3 RedisStudio 347

8.4.4 Redsmin/proxy 347

8.5小结 348

8.6实验 348

第9章Redis案例实战(电商大数据) 350

9.1广告访问 351

9.1.1广告功能使用需求 351

9.1.2建立数据集 351

9.1.3新增广告 354

9.1.4查询广告 356

9.2商品推荐 358

9.2.1商品推荐功能使用需求 358

9.2.2建立数据集 359

9.2.3新增商品推荐内容 360

9.2.4查询商品记录 361

9.3购物车 362

9.3.1购物车功能使用需求 363

9.3.2建立数据集 363

9.3.3加入购物车 364

9.3.4查询购物车 365

9.4记录浏览商品行为 366

9.4.1商品浏览记录使用需求 366

9.4.2建立数据集 367

9.4.3新增商品点击记录 368

9.4.4查询商品点击记录 369

9.5替代Session 370

9.5.1 Session使用需求 370

9.5.2建立数据集 371

9.5.3新增Session 371

9.5.4查询Session 372

9.6分页缓存 373

9.6.1分页缓存使用需求 374

9.6.2建立数据集 374

9.6.3新增分页数据 374

9.6.4查询分页数据 375

9.7小结 376

9.8实验 376

NoSQL提高部分(电商大数据) 378

第10章 速度问题 378

10.1 MongoDB操作速度优化 379

10.1.1常用优化方法 379

10.1.2索引查询及优化 382

10.1.3数据设计及优化 387

10.1.4 MongoDB读写分离 392

10.2 Redis操作速度优化 401

10.2.1 Redis读写分离 401

10.2.2内存配置优化 402

10.3配套硬件优化 408

10.4小结 409

10.5实验 410

第11章 数据存储问题 411

11.1 Mongodb数据存储问题 412

11.1.1数据备份及恢复 412

11.1.2存储平衡优化 414

11.2 Redis数据存储技术 419

11.2.1持久性问题 419

11.2.2数据备份问题 422

11.3小结 422

11.4实验 423

第12章NoSQL选择及部署 424

12.1NoSQL产品选择 425

12.2复杂部署案例分析 428

12.2.1高可用性NoSQL部署 428

12.2.2 TRDB+NoSQL综合部署 431

12.3小结 436

12.4实验 436

第13章NoSQL的实用辅助工具 438

13.1测试工具 439

13.1.1 YCSB测试工具 439

13.1.2 Redis-benchmark 444

13.2监控工具 447

13.2.1 MongoDB监控工具及问题 447

13.2.2 Mongostat 449

13.2.3 Mongotop 452

13.2.4 Mtools 453

13.2.5 Cloudinsight 461

13.2.6 Redis监控工具 462

13.2.7 Redislive 463

13.2.8 Sentinel 466

13.3小结 468

13.4实验 469

附录一MongoDB部分命令使用清单 470

附录二Redis命令详细清单 476

附录三 实例代码清单 480

主要参考文献及资料来源 481

后记 483