Cassandra权威指南(第三版)
Jeff Carpenter, Eben Hewitt
林琪 等译
出版时间:2022年05月
页数:421
想象一下,如果解决了伸缩性问题,你能做些什么。利用这本实用指南,你会了解Cassandra数据库管理系统如何处理数百TB的数据,同时仍保持跨多个数据中心的高可用性。这一版针对Cassandra 4.0做了全面更新,提供了生产环境中使用这个数据库所需的技术细节和实用示例。
本书作者展示了Cassandra非关系型设计的诸多优点,尤其对数据建模特别关注。如果你是一个开发人员、DBA或应用架构师,着力解决数据库扩展问题或应用的前瞻性问题,这个指南将帮助你充分利用Cassandra的高速度和灵活性。
● 使用Cassandra查询语言(CQL)和cqlsh(CQL shell)。
● 创建一个实用的数据模型,并与等价关系型模型比较。
● 使用客户端驱动程序设计和开发应用。
● 研究集群拓朴,了解节点间如何交换数据。
● 维持集群的高性能水平。
● 现场部署、云环境部署或利用Docker和Kubernetes部署Cassandra。
● Cassandra与Spark、Kafka、Elasticsearch、Solr和Lucene集成。
  1. 前言
  2. 第1章 超越关系型数据库
  3. 1.1 关系型数据库有什么问题?
  4. 1.2 关系型数据库速览
  5. 1.2.1 事务、ACID性和两段提交
  6. 1.2.2 模式
  7. 1.2.3 分片和无共享架构
  8. 1.3 网络规模
  9. 1.4 NoSQL的兴起
  10. 1.5 小结
  11. 第2章 Cassandra简介
  12. 2.1 Cassandra电梯间演讲
  13. 2.1.1 50字Cassandra介绍
  14. 2.1.2 分布式与去中心化
  15. 2.1.3 弹性可扩展
  16. 2.1.4 高可用性和容错性
  17. 2.1.5 可调一致性
  18. 2.1.6 Brewer的CAP理论
  19. 2.1.7 面向行
  20. 2.1.8 高性能
  21. 2.2 Cassandra从哪里来?
  22. 2.3 Cassandra适合我的项目吗?
  23. 2.3.1 大规模部署
  24. 2.3.2 大量写操作、统计和分析
  25. 2.3.3 多地分布
  26. 2.3.4 混合云和多云部署
  27. 2.4 参与其中
  28. 2.5 小结
  29. 第3章 安装Cassandra
  30. 3.1 安装Apache发布版本
  31. 3.1.1 解压缩下载包
  32. 3.1.2 里面有什么?
  33. 3.2 从源码构建
  34. 3.3 运行Cassandra
  35. 3.3.1 设置环境
  36. 3.3.2 启动服务器
  37. 3.3.3 停止Cassandra
  38. 3.4 其他Cassandra发布版本
  39. 3.5 运行CQL Shell
  40. 3.6 基本cqlsh命令
  41. 3.6.1 cqlsh帮助
  42. 3.6.2 cqlsh中描述环境
  43. 3.6.3 cqlsh中创建键空间和表
  44. 3.6.4 cqlsh中读写数据
  45. 3.7 Docker中运行Cassandra
  46. 3.8 小结
  47. 第4章 Cassandra查询语言
  48. 4.1 关系型数据模型
  49. 4.2 Cassandra的数据模型
  50. 4.2.1 集群
  51. 4.2.2 键空间
  52. 4.2.3 表
  53. 4.2.4 列
  54. 4.3 CQL类型
  55. 4.3.1 数值数据类型
  56. 4.3.2 文本数据类型
  57. 4.3.3 时间和标识数据类型
  58. 4.3.4 其他简单数据类型
  59. 4.3.5 集合
  60. 4.3.6 元组
  61. 4.3.7 用户自定义类型
  62. 4.4 小结
  63. 第5章 数据建模
  64. 5.1 概念数据建模
  65. 5.2 RDBMS设计
  66. 5.3 定义应用查询
  67. 5.4 逻辑数据建模
  68. 5.4.1 酒店逻辑数据模型
  69. 5.4.2 预订逻辑数据模型
  70. 5.5 物理数据建模
  71. 5.5.1 酒店物理数据模型
  72. 5.5.2 预订物理数据模型
  73. 5.6 评估和改进
  74. 5.6.1 计算分区大小
  75. 5.6.2 计算磁盘上的大小
  76. 5.6.3 划分大分区
  77. 5.7 定义数据库模式
  78. 5.8 小结
  79. 第6章 Cassandra架构
  80. 6.1 数据中心和机架
  81. 6.2 Gossip和故障检测
  82. 6.3 Snitch
  83. 6.4 环和令牌
  84. 6.5 虚拟节点
  85. 6.6 分区器
  86. 6.7 复制策略
  87. 6.8 一致性级别
  88. 6.9 查询和协调器节点
  89. 6.10 提示移交
  90. 6.11 逆熵、修复和Merkle树
  91. 6.12 轻量级事务和Paxos
  92. 6.13 Memtable、SSTable和提交日志
  93. 6.14 布隆过滤器
  94. 6.15 缓存
  95. 6.16 合并
  96. 6.17 删除和墓碑
  97. 6.18 管理器和服务
  98. 6.18.1 Cassandra守护进程
  99. 6.18.2 存储引擎
  100. 6.18.3 存储服务
  101. 6.18.4 存储代理
  102. 6.18.5 消息传递服务
  103. 6.18.6 流管理器
  104. 6.18.7 CQL原生传输服务器
  105. 6.19 系统键空间
  106. 6.20 小结
  107. 第7章 设计使用Cassandra的应用
  108. 7.1 酒店应用设计
  109. 7.1.1 Cassandra 和微服务架构
  110. 7.1.2 一个酒店应用的微服务架构
  111. 7.1.3 识别限界上下文
  112. 7.1.4 识别服务
  113. 7.1.5 设计微服务持久存储
  114. 7.2 扩展设计
  115. 7.2.1 二级索引
  116. 7.2.2 物化视图
  117. 7.3 预订服务:一个示例微服务
  118. 7.4 部署和集成问题
  119. 7.4.1 服务、键空间和集群
  120. 7.4.2 数据中心和负载平衡
  121. 7.4.3 微服务间的交互
  122. 7.5 小结
  123. 第8章 使用驱动程序开发应用
  124. 8.1 DataStax Java驱动程序
  125. 8.1.1 开发环境配置
  126. 8.1.2 连接集群
  127. 8.1.3 语句
  128. 8.1.4 简单语句
  129. 8.1.5 准备语句
  130. 8.1.6 查询生成器
  131. 8.1.7 对象映射器
  132. 8.1.8 异步执行
  133. 8.1.9 驱动程序配置
  134. 8.1.10 元数据
  135. 8.1.11 调试和监控
  136. 8.2 DataStax Python驱动程序
  137. 8.3 DataStax Node.js驱动程序
  138. 8.4 DataStax C#驱动程序
  139. 8.5 其他Cassandra驱动程序
  140. 8.6 小结
  141. 第9章 读写数据
  142. 9.1 写
  143. 9.1.1 写一致性级别
  144. 9.1.2 Cassandra写路径
  145. 9.1.3 文件写入磁盘
  146. 9.1.4 轻量级事务
  147. 9.1.5 批处理
  148. 9.2 读
  149. 9.2.1 读一致性级别
  150. 9.2.2 Cassandra读路径
  151. 9.2.3 读修复
  152. 9.2.4 区间查询、排序和过滤
  153. 9.2.5 分页
  154. 9.3 删除
  155. 9.4 小结
  156. 第10章 配置和部署Cassandra
  157. 10.1 Cassandra集群管理器
  158. 10.1.1 创建集群
  159. 10.1.2 为集群增加节点
  160. 10.1.3 动态加入环
  161. 10.2 节点配置
  162. 10.2.1 种子节点
  163. 10.2.2 Snitch
  164. 10.2.3 分区器
  165. 10.2.4 令牌和虚拟节点
  166. 10.2.5 网络接口
  167. 10.2.6 数据存储
  168. 10.2.7 启动和JVM设置
  169. 10.3 规划集群部署
  170. 10.3.1 集群拓扑和复制策略
  171. 10.3.2 确定集群规模
  172. 10.3.3 选择实例
  173. 10.3.4 存储
  174. 10.3.5 网络
  175. 10.4 云部署
  176. 10.4.1 Amazon Web 服务
  177. 10.4.2 Google 云平台
  178. 10.4.3 Microsoft Azure
  179. 10.5 小结
  180. 第11章 监控
  181. 11.1 用JMX监控Cassandra
  182. 11.2 Cassandra的MBean
  183. 11.2.1 数据库MBean
  184. 11.2.2 集群相关MBean
  185. 11.2.3 内部MBean
  186. 11.3 用nodetool监控
  187. 11.3.1 获得集群信息
  188. 11.3.2 获得统计信息
  189. 11.4 虚拟表
  190. 11.4.1 系统虚拟模式
  191. 11.4.2 系统视图
  192. 11.5 指标
  193. 11.6 日志
  194. 11.6.1 检查日志文件
  195. 11.6.2 全量查询日志
  196. 11.7 小结
  197. 第12章 维护
  198. 12.1 健康检查
  199. 12.2 常见维护任务
  200. 12.2.1 刷新输出
  201. 12.2.2 清理
  202. 12.2.3 修复
  203. 12.2.4 重建索引
  204. 12.2.5 移动令牌
  205. 12.3 增加节点
  206. 12.3.1 向已有的数据中心增加节点
  207. 12.3.2 向集群增加数据中心
  208. 12.4 处理节点故障
  209. 12.4.1 修复失败节点
  210. 12.4.2 替换节点
  211. 12.4.3 移除节点
  212. 12.5 升级Cassandra
  213. 12.6 备份和恢复
  214. 12.6.1 建立快照
  215. 12.6.2 清除快照
  216. 12.6.3 启用增量备份
  217. 12.6.4 从快照恢复
  218. 12.7 SSTable实用工具
  219. 12.8 维护工具
  220. 12.8.1 Netflix Priam
  221. 12.8.2 DataStax OpsCenter
  222. 12.8.3 Cassandra Sidecars
  223. 12.8.4 Cassandra Kubernetes Operators
  224. 12.9 小结
  225. 第13章 性能调优
  226. 13.1 管理性能
  227. 13.1.1 设置性能目标
  228. 13.1.2 基准测试和压力测试
  229. 13.1.3 监控性能
  230. 13.1.4 分析性能问题
  231. 13.1.5 跟踪
  232. 13.1.6 调优方法
  233. 13.2 缓存
  234. 13.2.1 键缓存
  235. 13.2.2 行缓存
  236. 13.2.3 块缓存
  237. 13.2.4 计数器缓存
  238. 13.2.5 保存的缓存设置
  239. 13.3 Memtable
  240. 13.4 提交日志
  241. 13.5 SSTables
  242. 13.6 提示移交
  243. 13.7 合并
  244. 13.8 并发和线程
  245. 13.9 网络和超时
  246. 13.10 JVM设置
  247. 13.10.1 内存
  248. 13.10.2 垃圾回收
  249. 13.11 小结
  250. 第14章 安全
  251. 14.1 认证和授权
  252. 14.1.1 密码认证器
  253. 14.1.2 使用CassandraAuthorizer
  254. 14.1.3 基于角色的访问控制
  255. 14.2 加密
  256. 14.2.1 SSL、TLS和证书
  257. 14.2.2 节点间加密
  258. 14.2.3 客户端- 节点间加密
  259. 14.3 JMX安全性
  260. 14.3.1 保护JMX访问安全
  261. 14.3.2 安全MBean
  262. 14.4 审计日志
  263. 14.5 小结
  264. 第15章 迁移和集成
  265. 15.1 了解何时迁移
  266. 15.2 调整数据模型
  267. 15.2.1 转换实体
  268. 15.2.2 转换关系
  269. 15.3 调整应用
  270. 15.3.1 重构数据访问
  271. 15.3.2 维护一致性
  272. 15.3.3 迁移存储过程
  273. 15.4 规划部署
  274. 15.5 迁移数据
  275. 15.5.1 零停机迁移
  276. 15.5.2 批量加载
  277. 15.6 常见集成
  278. 15.6 1 使用Apache Kafka管理数据流
  279. 15.6.2 用Apache Lucene、SOLR和Elasticsearch搜索
  280. 15.6.3 使用Apache Spark分析数据
  281. 15.7 小结
书名:Cassandra权威指南(第三版)
译者:林琪 等译
国内出版社:中国电力出版社
出版时间:2022年05月
页数:421
书号:978-7-5198-6643-3
原版书书名:Cassandra: The Definitive Guide, 3rd Edition
原版书出版商:O'Reilly Media
Jeff Carpenter
 
Jeff Carpenter是Choice Hotels International的系统架构师,在酒店和国防工业领域积累了20多年的经验。Jeff的兴趣主要包括SOA/微服务、构建大规模系统架 构和数据架构。
 
 
Eben Hewitt
 
Eben Hewitt是一家全球企业SaaS公司的首席架构师兼CTO。曾出版《Technology Strategy Patterns: Architecture as Strategy》、《Cassandra: The Definitive Guide》等多部有关架构、服务,以及软件开发的书籍。

Eben Hewitt是Choice Hotels International的首席技术官,这是全球最大酒店集团之一。

Eben Hewitt是美国一家资产达数十亿的零售公司的技术架构师,关注设计和构建该公司的SOA。他有10年的IT从业经验,并拥有多个行业证书,包括Sun认证的“Java Web Services Developer for EE 5”。Eben是JavaOne受欢迎的SOA发言人,而且在此之前,他已经编写了4本编程书籍和多篇行业文章。最近,他为O’Reilly的Richard Monson-Haefel主编的“97 Things Every Software Architect Should Know”撰稿(http://oreilly.com/catalog/9780596522698)。
 
 
本书封面上的动物是一只印度寿带鹟(学名:Terpsiphone paradisi)。寿带鹟科有3种,印度寿带鹟是其中之一分布在印度、中亚和缅甸。寿带鹟是雀形目的食虫动物。
寿带鹟具有性别二态性,这表示雄鸟和雌鸟的外形不同。大多数雌鸟都不如雄鸟羽毛鲜艳,另外都长着长长的尾羽。例如,雄性印度寿带鹟的尾带大约15 英寸长。人们相信,雌性寿带鹟是根据尾羽的长度来选择配偶。寿带鹟是一夫一妻制,这使得它们的颜色和羽毛与众不同,因为通常只有非一夫一妻制的物种才有这种性别特征。
因为它们分布如此广泛,在各类栖息地都能找到寿带鹟,包括热带草原、森林甚至是人工花园。它们是食虫动物,在飞行中捕捉食物,在一定程度上这要归功于它们快速的反应能力和敏锐的视力。
购买选项
定价:128.00元
书号:978-7-5198-6643-3
出版社:中国电力出版社