书籍详情

NoSQL精粹(英文版)

NoSQL精粹(英文版)

作者:(印)普拉莫德 J塞得拉吉

出版社:机械工业出版社

出版时间:2015-12-01

ISBN:9787111518006

定价:¥49.00

购买这本书可以去
内容简介
  本书先从NoSQL的核心概念开始介绍:无模式的数据模型、新的分布式模型、CAP理论等,然后介绍了在实现NoSQL会遇到的体系结构和设计方面的问题,并以很有代表性的几种数据库:Riak、MongoDB、Cassandra和Neo4j为例,展示了NoSQL数据库的使用。
作者简介
暂缺《NoSQL精粹(英文版)》作者简介
目录
目 录
前言
**部分 概念
第1章 为什么使用NoSQL3
1.1 关系型数据库的价值3
1.1.1 获取持久化数据3
1.1.2 并发4
1.1.3 集成4
1.1.4 近乎标准的模型4
1.2 阻抗失谐5
1.3 “应用程序数据库”与“集成数据库”6
1.4 蜂拥而来的集群8
1.5 NoSQL登场9
1.6 要点12
第2章 聚合数据模型13
2.1 聚合14
2.1.1 关系模型与聚合模型示例14
2.1.2 面向聚合的影响19
2.2 键值数据模型与文档数据模型20
2.3 列族存储21
2.4 面向聚合数据库总结23
2.5 延伸阅读24
2.6 要点24
第3章 数据模型详解25
3.1 关系25
3.2 图数据库26
3.3 无模式数据库28
3.4 物化视图30
3.5 构建数据存取模型31
3.6 要点36
第4章 分布式模型37
4.1 单一服务器37
4.2 分片38
4.3 主从复制40
4.4 对等复制42
4.5 结合“分片”与“复制”技术43
4.6 要点44
第5章 一致性47
5.1 更新一致性47
5.2 读取一致性49
5.3 放宽“一致性”约束52
5.4 放宽“持久性”约束56
5.5 仲裁57
5.6 延伸阅读59
5.7 要点59
第6章 版本戳61
6.1 “商业事务”与“系统事务”61
6.2 在多节点环境中生成版本戳63
6.3 要点65
第7章 映射-化简67
7.1 基本“映射-化简”68
7.2 分区与归并69
7.3 组合“映射-化简”计算72
7.3.1 举例说明两阶段“映射-化简”73
7.3.2 增量式“映射-化简”76
7.4 延伸阅读77
7.5 要点77
第二部分 实现
第8章 键值数据库81
8.1 何谓“键值数据库”81
8.2 键值数据库特性83
8.2.1 一致性83
8.2.2 事务84
8.2.3 查询功能84
8.2.4 数据结构86
8.2.5 可扩展性86
8.3 适用案例87
8.3.1 存放会话信息87
8.3.2 用户配置信息87
8.3.3 购物车数据87
8.4 不适用场合87
8.4.1 数据间关系87
8.4.2 含有多项操作的事务88
8.4.3 查询数据88
8.4.4 操作关键字集合88
第9章 文档数据库89
9.1 何谓文档数据库90
9.2 特性91
9.2.1 一致性91
9.2.2 事务92
9.2.3 可用性93
9.2.4 查询功能94
9.2.5 可扩展性95
9.3 适用案例97
9.3.1 事件记录97
9.3.2 内容管理系统及博客平台98
9.3.3 网站分析与实时分析98
9.3.4 电子商务应用程序98
9.4 不适用场合98
9.4.1 包含多项操作的复杂事务98
9.4.2 查询持续变化的聚合结构98
第10章 列族数据库99
10.1 何谓列族数据库99
10.2 特性100
10.2.1 一致性103
10.2.2 事务104
10.2.3 可用性104
10.2.4 查询功能105
10.2.5 可扩展性107
10.3 适用案例107
10.3.1 事件记录107
10.3.2 内容管理系统与博客平台108
10.3.3 计数器108
10.3.4 限期使用108
10.4 不适用场合109
第11章 图数据库111
11.1 何谓图数据库111
11.2 特性113
11.2.1 一致性114
11.2.2 事务114
11.2.3 可用性115
11.2.4 查询功能115
11.2.5 可扩展性119
11.3 适用案例120
11.3.1 互联数据120
11.3.2 安排运输路线、分派货物和基于位置的服务120
11.3.3 推荐引擎121
11.4 不适用场合121
第12章 模式迁移123
12.1 模式变更123
12.2 变更关系型数据库的模式123
12.2.1 迁移全新项目124
12.2.2 迁移既有项目126
12.3 变更NoSQL数据库的模式128
12.3.1 增量迁移130
12.3.2 迁移图数据库的模式131
12.3.3 改变聚合结构132
12.4 延伸阅读132
12.5 要点132
第13章 混合持久化133
13.1 各异的数据存储需求133
13.2 混用各类数据库134
13.3 将直接数据库操作封装为服务136
13.4 扩展数据库以增强其功能136
13.5 选用合适的数据库技术138
13.6 企业使用混合持久化技术时的考量138
13.7 部署复杂度139
13.8 要点140
第14章 超越NoSQL141
14.1 文件系统141
14.2 事件溯源142
14.3 内存映像144
14.4 版本控制145
14.5 XML数据库145
14.6 对象数据库146
14.7 要点146
第15章 选择合适的数据库147
15.1 程序员的工作效率149
15.2 数据访问性能150
15.3 继续沿用默认的关系型数据库150
15.4 抽离数据库策略以降低风险151
15.5 要点152
15.6 结语153
参考资料157



Contents

Part I: Understand . 1
Chapter 1: Why NoSQL? 3
1.1 The Value of Relational Databases 3
1.1.1 Getting at Persistent Data 3
1.1.2 Concurrency 4
1.1.3 Integration . 4
1.1.4 A (Mostly) Standard Model 4
1.2 Impedance Mismatch 5
1.3 Application and Integration Databases 6
1.4 Attack of the Clusters 8
1.5 The Emergence of NoSQL . 9
1.6 Key Points 12
Chapter 2: Aggregate Data Models 13
2.1 Aggregates . 14
2.1.1 Example of Relations and Aggregates 14
2.1.2 Consequences of Aggregate Orientation 19
2.2 Key-Value and Document Data Models . 20
2.3 Column-Family Stores . 21
2.4 Summarizing Aggregate-Oriented Databases . 23
2.5 Further Reading . 24
2.6 Key Points 24
Chapter 3: More Details on Data Models . 25
3.1 Relationships . 25
3.2 Graph Databases . 26
3.3 Schemaless Databases 28
3.4 Materialized Views 30
3.5 Modeling for Data Access 31
3.6 Key Points 36
Chapter 4: Distribution Models . 37
4.1 Single Server 37
4.2 Sharding 38
4.3 Master-Slave Replication . 40
4.4 Peer-to-Peer Replication . 42
4.5 Combining Sharding and Replication 43
4.6 Key Points 44
Chapter 5: Consistency 47
5.1 Update Consistency . 47
5.2 Read Consistency . 49
5.3 Relaxing Consistency . 52
5.3.1 The CAP Theorem 53
5.4 Relaxing Durability . 56
5.5 Quorums . 57
5.6 Further Reading . 59
5.7 Key Points 59
Chapter 6: Version Stamps . 61
6.1 Business and System Transactions 61
6.2 Version Stamps on Multiple Nodes 63
6.3 Key Points 65
Chapter 7: Map-Reduce . 67
7.1 Basic Map-Reduce . 68
7.2 Partitioning and Combining . 69
7.3 Composing Map-Reduce Calculations . 72
7.3.1 A Two Stage Map-Reduce Example 73
7.3.2 Incremental Map-Reduce . 76
7.4 Further Reading . 77
7.5 Key Points 77
Part II: Implement 79
Chapter 8: Key-Value Databases 81
8.1 What Is a Key-Value Store . 81
8.2 Key-Value Store Features . 83
8.2.1 Consistency . 83
8.2.2 Transactions 84
8.2.3 Query Features . 84
8.2.4 Structure of Data 86
8.2.5 Scaling 86
8.3 Suitable Use Cases . 87
8.3.1 Storing Session Information . 87
8.3.2 User Pro.les, Preferences . 87
8.3.3 Shopping Cart Data 87
8.4 When Not to Use . 87
8.4.1 Relationships among Data . 87
8.4.2 Multioperation Transactions 88
8.4.3 Query by Data . 88
8.4.4 Operations by Sets 88
Chapter 9: Document Databases 89
9.1 What Is a Document Database? . 90
9.2 Features . 91
9.2.1 Consistency . 91
9.2.2 Transactions 92
9.2.3 Availability 93
9.2.4 Query Features . 94
9.2.5 Scaling 95
9.3 Suitable Use Cases . 97
9.3.1 Event Logging 97
9.3.2 Content Management Systems, Blogging Platforms . 98
9.3.3 Web Analytics or Real-Time Analytics . 98
9.3.4 E-Commerce Applications . 98
9.4 When Not to Use . 98
9.4.1 Complex Transactions Spanning Different Operations 98
9.4.2 Queries against Varying Aggregate Structure 98
Chapter 10: Column-Family Stores 99
10.1 What Is a Column-Family Data Store? . 99
10.2 Features . 100
10.2.1 Consistency 103
10.2.2 Transactions 104
10.2.3 Availability 104
10.2.4 Query Features . 105
10.2.5 Scaling 107
10.3 Suitable Use Cases 107
10.3.1 Event Logging 107
10.3.2 Content Management Systems, Blogging Platforms . 108
10.3.3 Counters 108
10.3.4 Expiring Usage . 108
10.4 When Not to Use . 109
Chapter 11: Graph Databases . 111
11.1 What Is a Graph Database? . 111
11.2 Features . 113
11.2.1 Consistency 114
11.2.2 Transactions 114
11.2.3 Availability 115
11.2.4 Query Features . 115
11.2.5 Scaling 119
11.3 Suitable Use Cases 120
11.3.1 Connected Data 120
11.3.2 Routing, Dispatch, and Location-Based Services . 120
11.3.3 Recommendation Engines 121
11.4 When Not to Use . 121
Chapter 12: Schema Migrations . 123
12.1 Schema Changes 123
12.2 Schema Changes in RDBMS 123
12.2.1 Migrations for Green Field Projects . 124
12.2.2 Migrations in Legacy Projects . 126
12.3 Schema Changes in a NoSQL Data Store . 128
12.3.1 Incremental Migration . 130
12.3.2 Migrations in Graph Databases 131
12.3.3 Changing Aggregate Structure 132
12.4 Further Reading . 132
12.5 Key Points 132
Chapter 13: Polyglot Persistence . 133
13.1 Disparate Data Storage Needs 133
13.2 Polyglot Data Store Usage 134
13.3 Service Usage over Direct Data Store Usage . 136
13.4 Expanding for Better Functionality 136
13.5 Choosing the Right Technology . 138
13.6 Enterprise Concerns with Polyglot Persistence . 138
13.7 Deployment Complexity 139
13.8 Key Points 140
Chapter 14: Beyond NoSQL 141
14.1 File Systems 141
14.2 Event Sourcing . 142
14.3 Memory Image . 144
14.4 Version Control . 145
14.5 XML Databases . 145
14.6 Object Databases . 146
14.7 Key Points 146
Chapter 15: Choosing Your Database 147
15.1 Programmer Productivity . 147
15.2 Data-Access Performance . 149
15.3 Sticking with the Default 150
15.4 Hedging Your Bets . 150
15.5 Key Points 151
15.6 Final Thoughts . 152
Bibliography . 153
猜您喜欢

读书导航