《深入NoSQL》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(印)ShashankTiwari著;巨成译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2012
  • ISBN:9787115296382
  • 页数:294 页
图书介绍:本书是综合全面的NoSQL实践指南。书中主要关注NoSQL的基本概念,以及使用NoSQL数据库的切实可行的解决方案。

第一部分NoSQL入门 2

第1章NoSQL的概念及适用范围 2

1.1定义和介绍 3

1.1.1背景与历史 3

1.1.2大数据 5

1.1.3可扩展性 7

1.1.4 MapReduce 8

1.2面向列的有序存储 9

1.3键值存储 11

1.4文档数据库 14

1.5图形数据库 15

1.6小结 16

第2章NoSQL上手初体验 17

2.1第一印象——两个简单的例子 17

2.1.1简单的位置偏好数据集 17

2.1.2存储汽车品牌和型号数据 22

2.2使用多种语言 30

2.2.1 MongoDB驱动 30

2.2.2初识Thrift 33

2.3小结 34

第3章NoSQL接口与交互 36

3.1没了SQL还剩什么 36

3.1.1存储和访问数据 37

3.1.2 MongoDB数据存储与访问 37

3.1.3 MongoDB数据查询 41

3.1.4 Redis数据存储与访问 43

3.1.5 Redis数据查询 47

3.1.6 HBase数据存储与访问 50

3.1.7 HBase数据查询 52

3.1.8 Apache Cassandra数据存储与访问 54

3.1.9 Apache Cassandra数据查询 55

3.2 NoSQL数据存储的语言绑定 56

3.2.1 Thrift 56

3.2.2 Java 56

3.2.3 Python 58

3.2.4 Ruby 59

3.2.5 PHP 59

3.3小结 60

第二部分NoSQL基础 62

第4章 理解存储架构 62

4.1使用面向列的数据库 63

4.1.1使用关系型数据库中的表格和列 63

4.1.2列数据库对比RDBMS 65

4.1.3列数据库当做键/值对的嵌套映射表 67

4.1.4 Webtable布局 70

4.2 HBase分布式存储架构 71

4.3文档存储内部机制 73

4.3.1用内存映射文件存储数据 74

4.3.2 MongoDB集合和索引使用指南 75

4.3.3 MongoDB的可靠性和耐久性 75

4.3.4水平扩展 76

4.4键值存储Memcached和Redis 78

4.4.1 Memcached的内部结构 78

4.4.2 Redis的内部结构 79

4.5最终一致性非关系型数据库 80

4.5.1一致性哈希 81

4.5.2对象版本 82

4.5.3闲话协议和提示移交 83

4.6小结 83

第5章 执行CRUD操作 84

5.1创建记录 84

5.1.1在以文档为中心的数据库中创建记录 85

5.1.2面向列数据库的创建操作 91

5.1.3键/值映射表的创建操作 93

5.2访问数据 96

5.2.1用MongoDB访问文档 96

5.2.2用HBase访问数据 97

5.2.3查询Redis 98

5.3更新和删除数据 98

5.3.1使用MongoDB、 HBase和Redis更新及修改数据 98

5.3.2有限原子性和事务完整性 99

5.4小结 100

第6章 查询NoSQL存储 101

6.1 SQL与MongoDB查询功能的相似点 101

6.1.1加载MovieLens数据 103

6.1.2 MongoDB中的MapReduce 108

6.2访问HBase等面向列数据库中的数据 111

6.3查询Redis数据存储 113

6.4小结 116

第7章 修改数据存储及管理演进 117

7.1修改文档数据库 117

7.1.1弱schema的灵活性 120

7.1.2 MongoDB的数据导入与导出 121

7.2面向列数据库中数据schema的演进 124

7.3 HBase数据导入与导出 125

7.4键/值存储中的数据演变 126

7.5小结 126

第8章 数据索引与排序 127

8.1数据库索引的基本概念 127

8.2 MongoDB的索引与排序 128

8.3 MongoDB里创建和使用索引 131

8.3.1组合与嵌套键 136

8.3.2创建唯一索引和稀疏索引 138

8.3.3基于关键字的搜索和多重键 139

8.4 CouchDB的索引与排序 140

8.5 Apache Cassandra的索引与排序 141

8.6小结 143

第9章 事务和数据完整性的管理 144

9.1 RDBMS和ACID 144

9.2分布式ACID系统 147

9.2.1一致性 149

9.2.2可用性 149

9.2.3分区容忍性 149

9.3维持CAP 151

9.3.1妥协可用性 153

9.3.2妥协分区容忍性 153

9.3.3妥协一致性 154

9.4 NoSQL产品的一致性实现 155

9.4.1 MongoDB的分布一致性 155

9.4.2 CouchDB的最终一致性 155

9.4.3 Apache Cassandra的最终一致性 156

9.4.4 Membase的一致性 157

9.5小结 157

第三部分 熟悉NoSQL 160

第10章 使用云中的NoSQL 160

10.1 Google App Engine 161

10.1.1 GAE Python SDK:安装、设置和起步 161

10.1.2使用Python进行基本的GAE数据建模 165

10.1.3查询与索引 168

10.1.4过滤和结果排序 170

10.1.5 Java App Engine SDK 172

10.2 Amazon SimpleDB 175

10.2.1 SimpleDB入门 176

10.2.2使用REST API 178

10.2.3使用Java访问SimpleDB 181

10.2.4通过Ruby和Python使用SimpleDB 182

10.3小结 183

第11章MapReduce可扩展并行处理 185

11.1理解MapReduce 186

11.1.1找出每股最高价 188

11.1.2加载历史NYSE市场数据到CouchDB 189

11.2 MapReduce和HBase 192

11.3 MapReduce和Apache Mahout 196

11.4小结 197

第12章 使用Hive分析大数据 199

12.1 Hive基础 199

12.2回到电影评分 203

12.3亲切的SQL 209

12.4 HiveQL连接 211

12.4.1计划解释 213

12.4.2分区表 215

12.5小结 215

第13章 综览数据库内部 216

13.1 MongoDB内部 217

13.1.1 MongoDB传输协议 218

13.1.2插入文档 219

13.1.3查询集合 219

13.1.4 MongoDB数据库文件 220

13.2 Membase架构 222

13.3 Hypertable底层 224

13.3.1正则表达式支持 224

13.3.2布隆过滤器 224

13.4 Apache Cassandra 225

13.4.1点对点模型 225

13.4.2基于Gossip和Antientropy 225

13.4.3快速写 226

13.4.4提示移交 226

13.5 Berkeley DB 226

13.6小结 228

第四部分 掌握NoSQL 230

第14章 选择NoSQL 230

14.1比较NoSQL产品 230

14.1.1可扩展性 230

14.1.2事务完整性和一致性 233

14.1.3数据模型 233

14.1.4查询支持 235

14.1.5接口可用性 236

14.2性能测试 237

14.2.1 50/50的读和更新 237

14.2.2 95/5的读和更新 237

14.2.3扫描 238

14.2.4可扩展性测试 238

14.2.5 Hypertable测试 238

14.3背景比较 239

14.4小结 240

第15章 共存 241

15.1 MySQL用作NoSQL 241

15.2静态数据存储 244

15.2.1存储多元化在Facebook中的应用 245

15.2.2数据仓库和商业智能 246

15.3 Web框架和NoSQL 247

15.3.1 Rails和NoSQL 247

15.3.2Django和NoSQL 248

15.3.3使用Spring Data 250

15.4从RDBMS迁移到NoSQL 254

15.5小结 254

第16章 性能调校 256

16.1并行算法的目标 256

16.1.1减少延迟的含义 256

16.1.2如何增加吞吐 257

16.1.3线性扩展 257

16.2公式与模型 257

16.2.1 Amdahl法则 257

16.2.2 Little法则 258

16.2.3消息成本模型 259

16.3分区 259

16.4规划异构环境 260

16.5其他MapReduce调校 261

16.5.1通信成本 261

16.5.2压缩 261

16.5.3文件块大小 261

16.5.4并行复制 262

16.6 HBase Coprocessor 262

16.7布隆过滤器 262

16.8小结 262

第17章 工具和实用程序 263

17.1 RRDTool 263

17.2 Nagios 265

17.3 Scribe 266

17.4 Flume 267

17.5 Chukwa 267

17.6 Pig 268

17.6.1使用Pig 269

17.6.2 Pig Latin基础 269

17.7 Nodetool 271

17.8 OpenTSDB 272

17.9 SOLANDRA 273

17.10 Hummingbird和C5T 274

17.11 GeoCouch 275

17.12 Alchemy Database 276

17.13 Webdis 276

17.14小结 276

附录A安装与配置 278