Cassandra权威指南(第3版)
全新正版 极速发货
¥
63.85
5.0折
¥
128
全新
库存5件
作者(美)杰夫·卡彭特,(美)埃本·休伊特
出版社中国电力出版社
ISBN9787519866433
出版时间2022-05
装帧平装
开本16开
定价128元
货号1202656018
上书时间2024-09-04
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
杰夫·卡彭特(Jeff Carpenter)是精品靠前酒店集团(Choice Hotels International)的一名系统架构师,在服务业和国防工业有着20年的从业经验。他的兴趣包括SOA微服务、大规模系统架构设计以及数据架构。
目录
序 1
前言 3
第1章 超越关系型数据库 13
1.1 关系型数据库有什么问题? 13
1.2 关系型数据库速览 18
1.2.1 事务、ACID 性和两段提交 19
1.2.2 模式 21
1.2.3 分片和无共享架构 22
1.3 网络规模 25
1.4 NoSQL 的兴起 26
1.5 小结 29
第2章 Cassandra 简介 30
2.1 Cassandra 电梯间演讲 30
2.1.1 50 字Cassandra 介绍 30
2.1.2 分布式与去中心化 31
2.1.3 弹性可扩展 32
2.1.4 高可用性和容错性 33
2.1.5 可调一致性 33
2.1.6 Brewer 的CAP 理论 36
2.1.7 面向行 40
2.1.8 高性能 42
2.2 Cassandra 从哪里来? 42
2.3 Cassandra 适合我的项目吗? 44
2.3.1 大规模部署 44
2.3.2 大量写操作、统计和分析 44
2.3.3 多地分布 45
2.3.4 混合云和多云部署 45
2.4 参与其中 45
2.5 小结 48
第3章 安装Cassandra 49
3.1 安装Apache 发布版本 49
3.1.1 解压缩下载包 50
3.1.2 里面有什么? 50
3.2 从源码构建 51
3.3 运行Cassandra 53
3.3.1 设置环境 54
3.3.2 启动服务器 55
3.3.3 停止Cassandra 57
3.4 其他Cassandra 发布版本 58
3.5 运行CQL Shell 59
3.6 基本cqlsh 命令 60
3.6.1 cqlsh 帮助 61
3.6.2 cqlsh 中描述环境 62
3.6.3 cqlsh 中创建键空间和表 62
3.6.4 cqlsh 中读写数据 66
3.7 Docker 中运行Cassandra 69
3.8 小结 70
第4章 Cassandra 查询语言 71
4.1 关系型数据模型 71
4.2 Cassandra 的数据模型 72
4.2.1 集群 75
4.2.2 键空间 76
4.2.3 表 76
4.2.4 列 80
4.3 CQL 类型 83
4.3.1 数值数据类型 83
4.3.2 文本数据类型 84
4.3.3 时间和标识数据类型 85
4.3.4 其他简单数据类型 87
4.3.5 集合 89
4.3.6 元组 93
4.3.7 用户自定义类型 93
4.4 小结 97
第5章 数据建模 98
5.1 概念数据建模 98
5.2 RDBMS 设计 99
5.3 定义应用查询 103
5.4 逻辑数据建模 105
5.4.1 酒店逻辑数据模型 106
5.4.2 预订逻辑数据模型 109
5.5 物理数据建模 110
5.5.1 酒店物理数据模型 112
5.5.2 预订物理数据模型 113
5.6 评估和改进 114
5.6.1 计算分区大小 114
5.6.2 计算磁盘上的大小 115
5.6.3 划分大分区 117
5.7 定义数据库模式 118
5.8 小结 123
第6章 Cassandra 架构 124
6.1 数据中心和机架 124
6.2 Gossip 和故障检测 125
6.3 Snitch 128
6.4 环和令牌 129
6.5 虚拟节点 130
6.6 分区器 131
6.7 复制策略 132
6.8 一致性级别 133
6.9 查询和协调器节点 134
6.10 提示移交 135
6.11 逆熵、修复和Merkle 树 137
6.12 轻量级事务和Paxos 138
6.13 Memtable、SSTable 和提交日志 140
6.14 布隆过滤器 143
6.15 缓存 143
6.16 合并 144
6.17 删除和墓碑 146
6.18 管理器和服务 147
6.18.1 Cassandra 守护进程 147
6.18.2 存储引擎 147
6.18.3 存储服务 148
6.18.4 存储代理 149
6.18.5 消息传递服务 149
6.18.6 流管理器 149
6.18.7 CQL 原生传输服务器 150
6.19 系统键空间 150
6.20 小结 153
第7章 设计使用Cassandra 的应用 154
7.1 酒店应用设计 154
7.1.1 Cassandra 和微服务架构 154
7.1.2 一个酒店应用的微服务架构 156
7.1.3 识别限界上下文 157
7.1.4 识别服务 157
7.1.5 设计微服务持久存储 159
7.2 扩展设计 162
7.2.1 二级索引 163
7.2.2 物化视图 167
7.3 预订服务:一个示例微服务 171
7.4 部署和集成问题 172
7.4.1 服务、键空间和集群 172
7.4.2 数据中心和负载平衡 173
7.4.3 微服务间的交互 173
7.5 小结 175
第8章 使用驱动程序开发应用 176
8.1 DataStax Java 驱动程序 177
8.1.1 开发环境配置 178
8.1.2 连接集群 179
8.1.3 语句 181
8.1.4 简单语句 181
8.1.5 准备语句 183
8.1.6 查询生成器 185
8.1.7 对象映射器 187
8.1.8 异步执行 191
8.1.9 驱动程序配置 193
8.1.10 元数据 200
8.1.11 调试和监控 202
8.2 DataStax Python 驱动程序 203
8.3 DataStax Node.js 驱动程序 204
8.4 DataStax C# 驱动程序 205
8.5 其他Cassandra 驱动程序 205
8.6 小结 207
第9章 读写数据 208
9.1 写 208
9.1.1 写一致性级别 208
9.1.2 Cassandra 写路径 210
9.1.3 文件写入磁盘 212
9.1.4 轻量级事务 215
9.1.5 批处理 218
9.2 读 221
9.2.1 读一致性级别 221
9.2.2 Cassandra 读路径 223
9.2.3 读修复 225
9.2.4 区间查询、排序和过滤 228
9.2.5 分页 231
9.3 删除 233
9.4 小结 236
第10章 配置和部署Cassandra 237
10.1 Cassandra 集群管理器 237
10.1.1 创建集群 238
10.1.2 为集群增加节点 241
10.1.3 动态加入环 243
10.2 节点配置 244
10.2.1 种子节点 244
10.2.2 Snitch 245
10.2.3 分区器 247
10.2.4 令牌和虚拟节点 249
10.2.5 网络接口 250
10.2.6 数据存储 251
10.2.7 启动和JVM 设置 253
10.3 规划集群部署 254
10.3.1 集群拓扑和复制策略 255
10.3.2 确定集群规模 258
10.3.3 选择实例 259
10.3.4 存储 259
10.3.5 网络 260
10.4 云部署 261
10.4.1 Amazon Web 服务 262
10.4.2 Google 云平台 265
10.4.3 Microsoft Azure 266
10.5 小结 266
第11章 监控 268
11.1 用JMX 监控Cassandra 268
11.2 Cassandra 的MBean 271
11.2.1 数据库MBean 272
11.2.2 集群相关MBean 276
11.2.3 内部MBean 278
11.3 用nodetool 监控 279
11.3.1 获得集群信息 280
11.3.2 获得统计信息 283
11.4 虚拟表 285
11.4.1 系统虚拟模式 286
11.4.2 系统视图 287
11.5 指标 290
11.6 日志 292
11.6.1 检查日志文件 295
11.6.2 全量查询日志 296
11.7 小结 298
第12章 维护 299
12.1 健康检查 299
12.2 常见维护任务 300
12.2.1 刷新输出 300
12.2.2 清理 301
12.2.3 修复 302
12.2.4 重建索引 307
12.2.5 移动令牌 308
12.3 增加节点 308
12.3.1 向已有的数据中心增加节点 308
12.3.2 向集群增加数据中心 309
12.4 处理节点故障 311
12.4.1 修复失败节点 311
12.4.2 替换节点 312
12.4.3 移除节点 313
12.5 升级Cassandra 317
12.6 备份和恢复 319
12.6.1 建立快照 320
12.6.2 清除快照 321
12.6.3 启用增量备份 322
12.6.4 从快照恢复 322
12.7 SSTable 实用工具 323
12.8 维护工具 325
12.8.1 Netflix Priam 325
12.8.2 DataStax OpsCenter 325
12.8.3 Cassandra Sidecars 325
12.8.4 Cassandra Kubernetes Operators 327
12.9 小结 330
第13章 性能调优 331
13.1 管理性能 331
13.1.1 设置性能目标 331
13.1.2 基准测试和压力测试 333
13.1.3 监控性能 338
13.1.4 分析性能问题 340
13.1.5 跟踪 340
13.1.6 调优方法 343
13.2 缓存 344
13.2.1 键缓存 344
13.2.2 行缓存 345
13.2.3 块缓存 346
13.2.4 计数器缓存 347
13.2.5 保存的缓存设置 347
13.3 Memtable 348
13.4 提交日志 349
13.5 SSTables 350
13.6 提示移交 351
13.7 合并 352
13.8 并发和线程 356
13.9 网络和超时 357
13.10 JVM 设置 359
13.10.1 内存 360
13.10.2 垃圾回收 360
13.11 小结 364
第14章 安全 365
14.1 认证和授权 367
14.1.1 密码认证器 367
14.1.2 使用CassandraAuthorizer 371
14.1.3 基于角色的访问控制 373
14.2 加密 375
14.2.1 SSL、TLS 和证书 376
14.2.2 节点间加密 379
14.2.3 客户端- 节点间加密 381
14.3 JMX 安全性 382
14.3.1 保护JMX 访问安全 383
14.3.2 安全MBean 385
14.4 审计日志 386
14.5 小结 389
第15章 迁移和集成 390
15.1 了解何时迁移 390
15.2 调整数据模型 391
15.2.1 转换实体 393
15.2.2 转换关系 394
15.3 调整应用 396
15.3.1 重构数据访问 397
15.3.2 维护一致性 398
15.3.3 迁移存储过程 400
15.4 规划部署 405
15.5 迁移数据 406
15.5.1 零停机迁移 406
15.5.2 批量加载 407
15.6 常见集成 409
15.6 1 使用Apache Kafka 管理数据流 409
15.6.2 用Apache Lucene、SOLR 和Elasticsearch 搜索 412
15.6.3 使用Apache Spark 分析数据 413
15.7 小结 421
内容摘要
这本书尽可能合理地把各章设计为独立的指南。对于一本关于Cassandra的书,这一点很重要,因为读者可能有不同的工作角色,身处不同的行业。借用软件领域的一个说法,这本书设计为是“模块化”的。如果你刚接触Cassandra,可以按顺序阅读;如果你已经过了入门阶段,也可以在后面的章节中找到你需要的内容,每一章都可以作为一个独立的指南。
第1章,这一章将回顾获得了极大成功的关系型数据库的历史,并介绍非关系型数据库技术(如Cassandra)的蓬勃兴起。
第2章,Cassandra简介
这一章介绍Cassandra,并讨论它有哪些让人激动和不同寻常的地方,它来自哪里,另外有哪些优点。
第3章,安装Cassandra
这一章会带着你安装和运行Cassandra,并尝试它的一些基本特性。
第4章,Cassandra查询语言
这一章介绍Cassandra的数据模型,重点强调它与传统关系模型的区别。我们还会讨论如何用Cassandra查询语言(CQL)表示这个数据模型。
第5章,数据建模
这一章介绍Cassandra中数据建模的原则和过程。我们会分析一个大家熟悉的领域,建立一个实际可用的模式。
第6章,Cassandra架构
这一章将帮助你了解读写操作时发生了什么,另外Cassandra数据库如何实现它的一些突出特点,如持久性和高可用性。我们会深入地理解一些更复杂的内部工作,如gossip协议、提示移交、读修复、Merkle树等。
第7章,设计使用Cassandra的应用
为了让Cassandra架构概念更为具体,我们将研究在现代云应用的架构和设计中结合Cassandra的一些常用方法。
第8章,使用驱动程序开发应用
面向不同语言有很多驱动程序,包括Java、node.js、Python、Ruby、C#和PHP,这些驱动程序对Cassandra的底层API提供了抽象。我们会帮助你了解如何利用常用驱动程序的特性用Cassandra开发应用。
— 没有更多了 —
以下为对购买帮助不大的评价