目录
第一部分 了解NoSQL
第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
第二部分 数据库模式
第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