图书介绍

解读NoSQLPDF|Epub|txt|kindle电子书版本网盘下载

解读NoSQL
  • (美)麦克雷,(美)凯利著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115411105
  • 出版时间:2016
  • 标注页数:237页
  • 文件大小:116MB
  • 文件页数:256页
  • 主题词:数据库系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

解读NoSQLPDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 了解NoSQL2

第1章 NoSQL:明智的选择2

1.1 什么是NoSQL3

1.2 NoSQL的商业驱动4

1.2.1 容量5

1.2.2 速度5

1.2.3 敏捷性6

1.3 NoSQL案例研究6

1.3.1 案例研究:LiveJournal的Memcache技术7

1.3.2 案例研究:Google的MapReduce——利用商用硬件生成搜索索引7

1.3.3 案例研究:Google的Bigtable——一个有着数十亿行和百万列的表8

1.3.4 案例研究:亚马逊的Dynamo——每天24小时接收订单9

1.3.5 案例研究:MarkLogic9

1.3.6 实践10

1.4 小结10

第2章 NoSQL概念12

2.1 保持组件简单以促进重用12

2.2 将应用分层以简化设计14

2.3 策略地使用RAM、SSD和磁盘提升性能17

2.4 使用一致性散列算法维护当前的缓存18

2.5 比较ACID和BASE——两种可靠的数据库事务方法19

2.5.1 RDBMS的事务控制——ACID21

2.5.2 非RDBMS的事务控制——BASE22

2.6 通过数据库分片获得水平扩展能力23

2.7 基于Brewer的CAP定理进行权衡25

2.8 实践26

2.9 小结27

2.10 延伸阅读27

第二部分 数据库模式30

第3章 基础数据架构模式30

3.1 什么是数据架构模式31

3.2 理解应用于RDBMS的行存储设计模式31

3.2.1 行存储如何工作32

3.2.2 行存储的演变33

3.2.3 分析行存储模式的优点和缺点34

3.3 示例:对销售订单进行连接操作35

3.4 回顾RDBMS实现的特性36

3.4.1 RDBMS事务37

3.4.2 固定的数据定义语言和强类型的列38

3.4.3 通过RDBMS视图保证安全并进行访问控制39

3.4.4 RDBMS的复制和同步39

3.5 通过OLAP、数据仓库和商业智能系统对历史数据进行分析41

3.5.1 数据如何从操作型系统流入分析型系统42

3.5.2 熟悉OLAP的概念44

3.5.3 通过汇总生成专项报表45

3.6 将高可用性和以读为的系统一体化46

3.7 在修改控制系统和数据同步中使用散列树47

3.8 实践49

3.9 小结49

3.10 延伸阅读50

第4章 NoSQL数据架构模式51

4.1 键值存储52

4.1.1 什么是键值存储52

4.1.2 使用键值存储的好处54

4.1.3 使用键值存储56

4.1.4 使用案例:用键值存储保存网页59

4.1.5 使用案例:亚马逊简单存储服务(S3)59

4.2 图存储60

4.2.1 图存储概述60

4.2.2 用RDF标准来连接外部数据62

4.2.3 图存储的使用案例63

4.3 列族(Bigtable)存储68

4.3.1 列族存储基础69

4.3.2 理解列族存储的键69

4.3.3 列族存储的优点70

4.3.4 案例研究:在Bigtable中存储分析信息72

4.3.5 案例研究:Google地图用Bigtable存储地理信息72

4.3.6 案例研究:使用列族存储用户偏好信息73

4.4 文档存储73

4.4.1 文档存储基础74

4.4.2 文档集合74

4.4.3 应用集合75

4.4.4 文档存储的API75

4.4.5 文档存储的实现76

4.4.6 案例研究:MongoDB和广告服务器76

4.4.7 案例研究:大型对象数据库CouchDB77

4.5 NoSQL架构模式的变体78

4.5.1 定制RAM和SSD存储78

4.5.2 分布式存储78

4.5.3 分组的对象79

4.6 小结80

4.7 延伸阅读81

第5章 原生XML数据库82

5.1 什么是原生XML数据库83

5.2 用原生XML数据库构建应用85

5.2.1 加载数据可以像拖曳那样简单86

5.2.2 使用集合来组织XML文档87

5.2.3 使用XPath运用简单的查询转换复杂的数据89

5.2.4 用XQuery转换数据91

5.2.5 用XQuery更新文档93

5.2.6 XQuery全文搜索标准94

5.3 在原生XML数据库中应用XML标准94

5.4 用XMLSchema和Schematron设计和验证数据96

5.4.1 XML Schema96

5.4.2 使用Schematron检查文档规则97

5.5 用自定义模块扩展XQuery98

5.6 案例研究:在美国国务院历史学家办公室使用NoSQL98

5.7 案例研究:使用MarkLpgic管理金融衍生品102

5.7.1 为什么RDBMS难以存储金融衍生品102

5.7.2 一个投资银行从20个RDBMS转换到1个原生XML数据库102

5.7.3 迁移至原生XML文档存储的商业好处104

5.7.4 项目成果104

5.8 小结105

5.9 延伸阅读105

第三部 NoSQL解决方案108

第6章 用NoSQL管理大数据108

6.1 什么才是大数据解决方案109

6.2 线性扩展数据中心112

6.3 理解线性可扩展性和表现力113

6.4 了解大数据问题的类型114

6.5 使用无共享架构分析大数据116

6.6 选择分布式模型:主从模型与对等模型117

6.7 在分布式系统上使用MapReduce处理数据118

6.7.1 MapReduce和分布式文件系统120

6.7.2 MapReduce怎样做到高效处理大数据问题121

6.8 NoSQL系统处理大数据问题的4种方式122

6.8.1 分发查询到数据,而非数据到查询122

6.8.2 使用散列环在集群中均匀分发数据122

6.8.3 使用复制扩展读取性能123

6.8.4 使数据库将查询均衡地分发到数据节点124

6.9 案例研究:使用Apache Flume处理事件日志125

6.9.1 事件日志数据分析的挑战125

6.9.2 Apache Flume搜集分布式事件日志的方法126

6.9.3 延伸思考127

6.10 案例研究:计算机辅助发现医疗保险欺诈128

6.10.1 什么是医疗保险欺诈检测128

6.10.2 使用图和定制的内存共享硬件检测医疗保险欺诈129

6.11 小结130

6.12 延伸阅读131

第7章 用NoSQL搜索获取信息132

7.1 什么是NoSQL搜索132

7.2 搜索分类133

7.2.1 布尔搜索、全文关键字搜索和结构化搜索的比较133

7.2.2 测试常见搜索类型134

7.3 提高NoSQL搜索效率的策略和方法135

7.4 使用文档结构提升搜索质量137

7.5 搜索质量量化139

7.6 本地索引与远程搜索服务139

7.7 案例研究:使用MapReduce建立倒排索引141

7.8 案例研究:搜索技术文档142

7.8.1 什么是技术文档搜索142

7.8.2 在NoSQL文档存储中保留文档结构143

7.9 案例研究:搜索领域语言——可检索性和重用性144

7.10 实践145

7.11 小结146

7.12 延伸阅读146

第8章 用NoSQL构建高可用的解决方案148

8.1 高可用NoSQL数据库的定义148

8.2 量化NoSQL数据库的可用性149

8.2.1 案例研究:亚马逊S3的服务级别协议151

8.2.2 预测系统可用性151

8.2.3 实践152

8.3 NoSQL系统的高可用性策略153

8.3.1 使用负载均衡器将流量转向到最空闲的节点153

8.3.2 结合高可用分布式文件系统和NoSQL数据库154

8.3.3 案例研究:将HDFS作为一个高可用的文件系统存储主数据155

8.3.4 使用托管的NoSQL服务156

8.3.5 案例研究:使用亚马逊的DynamoDB作为高可用数据存储157

8.4 案例研究:使用Apache Cassandra作为高可用的列族存储158

8.5 案例研究:使用Couchbase作为高可用文档数据库161

8.6 小结163

8.7 延伸阅读163

第9章 用NoSQL提升敏捷性165

9.1 软件敏捷性的定义165

9.2 量化敏捷性169

9.3 使用文档存储来避免对象关系映射171

9.4 案例研究:使用XRX管理复杂表单172

9.4.1 什么是复杂业务表单173

9.4.2 用XRX替换客户端JavaScript和对象关系映射173

9.4.3 理解XRX对敏捷性的影响176

9.5 小结177

9.6 延伸阅读177

第10章 NoSQL与函数式编程180

10.1 什么是函数式编程181

10.1.1 指令式编程就是管理程序状态181

10.1.2 函数式编程是没有副作用的并行转化183

10.1.3 比较指令式编程和函数式编程的扩展性186

10.1.4 使用引用透明避免重复计算187

10.2 案例研究:用NetKernel优化网页内容组装188

10.2.1 组装嵌套内容,追踪组件依赖188

10.2.2 用NetKernel优化组件再生成189

10.3 函数式编程语言示例191

10.4 完成指令式编程到函数式的编程转变192

10.4.1 使用函数作为函数的参数192

10.4.2 使用递归处理非结构化文档数据192

10.4.3 使用不可变变量而非可变变量192

10.4.4 去除循环和条件语句193

10.4.5 新的思维方式:从状态记录到转化隔离193

10.4.6 质量、校验和一致性单元测试194

10.4.7 函数式编程的并发194

10.5 案例研究:用Erlang构建NoSQL系统194

10.6 实践197

10.7 小结198

10.8 延伸阅读198

第11章 安全:保护NoSQL系统中的数据200

11.1 NoSQL数据库的一种安全模型201

11.1.1 使用服务减少数据库内部的安全性需求202

11.1.2 使用数据仓库和OLAP减少数据库内部的安全性需求203

11.1.3 应用级安全措施和数据库级安全措施的收益总结203

11.2 收集安全需求204

11.2.1 认证205

11.2.2 授权207

11.2.3 审查和日志记录210

11.2.4 加密和数字签名211

11.2.5 保护公开网站免受拒绝服务攻击和注入攻击212

11.3 案例研究:键值存储的访问控制——亚马逊的S3213

11.3.1 身份和访问管理(IAM)214

11.3.2 访问控制列表(ACL)214

11.3.3 桶策略214

11.4 案例研究:在Apache Accumulo中使用键可见性技术215

11.5 案例研究:在安全发布流程中使用MarkLogic的RBAC模型216

11.5.1 使用MarkLogic的RBAC安全模型保护文档217

11.5.2 在安全出版中使用 MarkLogic218

11.5.3 MarkLogic的安全模型的优势218

11.6 小结219

11.7 延伸阅读219

第12章 选择合适的NoSQL解决方案221

12.1 什么是架构利弊分析222

12.2 数据库架构选型团队的组成变化223

12.2.1 选择合适的团队224

12.2.2 考虑经验偏好224

12.2.3 雇用外部咨询师225

12.3 架构权衡分析步骤225

12.4 解构分析:质量树228

12.4.1 质量属性样例229

12.4.2 评估混合架构和云架构231

12.5 与利益系相关者沟通结果231

12.5.1 用质量树作为导航图232

12.5.2 实践233

12.5.3 使用质量树进行项目风险交流234

12.6 找到合适的验证架构的试点项目235

12.7 小结236

12.8 延伸阅读237

热门推荐