解读NoSQLPDF电子书下载
- 电子书积分:10 积分如何计算积分?
- 作 者:(美)麦克雷,(美)凯利著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2016
- ISBN:9787115411105
- 页数:237 页
第一部分 了解NoSQL 2
第1章 NoSQL:明智的选择 2
1.1 什么是NoSQL 3
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 案例研究:MarkLogic 9
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的事务控制——ACID 21
2.5.2 非RDBMS的事务控制——BASE 22
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 文档存储的API 75
4.4.5 文档存储的实现 76
4.4.6 案例研究:MongoDB和广告服务器 76
4.4.7 案例研究:大型对象数据库CouchDB 77
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 Schema 96
5.4.2 使用Schematron检查文档规则 97
5.5 用自定义模块扩展XQuery 98
5.6 案例研究:在美国国务院历史学家办公室使用NoSQL 98
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 案例研究:键值存储的访问控制——亚马逊的S3 213
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 在安全出版中使用 MarkLogic 218
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
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《白纻舞及其歌辞的文化解读》王俊,曹化根著 2019
- 《名家解读经典系列 王季思推荐古代戏曲》王季思 2017
- 《在生活中养生 《中国公民中医养生保健素养》解读》吕沛宛,侯江红 2019
- 《危险化学品企业安全风险隐患排查治理导则解读》中国化学品安全协会 2019
- 《中国关键词 19大篇 汉英对照 2 权威解读当代中国》中国外文出版发行事业局,当代中国与世界研究院,中国翻译研究院著 2018
- 《招标投标法律法规解读评析 评标专家指南 第4版》陈川生,黄雯 2019
- 《探索与创新 苏霍姆林斯基家庭教育思想解读与实践》郑建业著 2018
- 《解读西方管理哲学》谢庆绵著 2019
- 《“十三五”中小学教师培训教材 教师教学基本能力解读与训练 中学美术》刘文军 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019